-
3682bea38a
Add to corpus
Andrew Noyes
2025-05-22 13:17:38 -04:00
-
d68c9a8ccc
Pass test if one parser says overflow and the other says reject
Andrew Noyes
2025-05-22 12:57:12 -04:00
-
c939bc3baa
Remove most usages of T_END_NUMBER
Andrew Noyes
2025-05-22 12:37:08 -04:00
-
76e03e635b
Skip past false,true,null directly if buffered
Andrew Noyes
2025-05-22 12:23:09 -04:00
-
af07cdc8be
Skip past N_INTEGER
Andrew Noyes
2025-05-22 12:15:50 -04:00
-
3afa3b6e9a
Skip N_OBJECT and N_ARRAY
Andrew Noyes
2025-05-22 11:55:27 -04:00
-
3635f5cf18
Skip over n_string when you know it matches
Andrew Noyes
2025-05-22 11:45:57 -04:00
-
56f6ab6566
Fuse whitespace into string
Andrew Noyes
2025-05-22 11:42:05 -04:00
-
297d6b48f7
Fuse whitespace into object2, object3, array2, array3, colon
Andrew Noyes
2025-05-22 11:38:42 -04:00
-
dff2120867
Remove redundant len check
Andrew Noyes
2025-05-22 11:31:07 -04:00
-
048caa830a
Fuse N_WHITESPACE into N_VALUE
Andrew Noyes
2025-05-22 11:21:58 -04:00
-
0786d8db4c
More work on c api
Andrew Noyes
2025-05-22 11:00:59 -04:00
-
6e602d8fd5
Start working on c api
Andrew Noyes
2025-05-22 10:55:15 -04:00
-
96ef50d52f
Add to corpus
Andrew Noyes
2025-05-21 17:00:05 -04:00
-
45029e7dfa
Add to corpus
Andrew Noyes
2025-05-21 16:48:01 -04:00
-
0b68fd1d41
Test more strides
Andrew Noyes
2025-05-21 16:19:58 -04:00
-
611d1a07de
Validate correct string data in fuzz test
Andrew Noyes
2025-05-21 15:45:24 -04:00
-
c261b64620
Fix unintentionally disabled test
Andrew Noyes
2025-05-21 14:06:43 -04:00
-
bde83c0b15
Write readme
Andrew Noyes
2025-05-20 12:43:26 -04:00
-
c79b19b24f
Add to corpus
Andrew Noyes
2025-05-20 11:56:25 -04:00
-
a890ce3666
Move copying out of tight loop
Andrew Noyes
2025-05-19 19:49:11 -04:00
-
a4d7d1f91e
Loop in string2 in normal case
Andrew Noyes
2025-05-19 17:50:48 -04:00
-
918950d7f8
Fix unescaping bug
Andrew Noyes
2025-05-19 17:16:37 -04:00
-
4174f1c609
Add test witnessing unescaping bug
Andrew Noyes
2025-05-19 17:15:56 -04:00
-
9a5b94e25d
Remove redundant nonterminals
Andrew Noyes
2025-05-19 17:02:45 -04:00
-
7a5b538132
Avoid some checks for len == 0
Andrew Noyes
2025-05-19 16:58:01 -04:00
-
5df17a0d47
Consume whitespace in loop
Andrew Noyes
2025-05-19 16:27:13 -04:00
-
ff00f3eead
Fix bogus assert
Andrew Noyes
2025-05-19 16:21:05 -04:00
-
2b604a4f89
Add to corpus
Andrew Noyes
2025-05-19 16:19:21 -04:00
-
be8187b2fd
Fix issue with fuzz test
Andrew Noyes
2025-05-19 15:58:15 -04:00
-
2cb9bc8ad2
Add to corpus
Andrew Noyes
2025-05-19 15:13:55 -04:00
-
bf30eabdfc
Match simdjson behavior for surrogate pairs
Andrew Noyes
2025-05-19 15:11:30 -04:00
-
292154100f
Implement utf16 surrogate pairs
Andrew Noyes
2025-05-19 14:53:16 -04:00
-
34ad19c22f
Unescape basic multi-lingual plane utf8
Andrew Noyes
2025-05-19 14:26:12 -04:00
-
19bc216458
Add utf-8 unescaping test
Andrew Noyes
2025-05-19 13:14:24 -04:00
-
d9bb22e6b1
Fix several unescaping issues
Andrew Noyes
2025-05-19 13:10:24 -04:00
-
553a273a1b
Basic unescaping
Andrew Noyes
2025-05-19 12:47:14 -04:00
-
d5bd9fc018
Call on_string_data with all available data
Andrew Noyes
2025-05-19 12:41:12 -04:00
-
b7cacf13f4
Call on_number_data with all available bytes
Andrew Noyes
2025-05-19 12:37:06 -04:00
-
5ae8d4343c
Add simple unescaping test
Andrew Noyes
2025-05-19 12:25:59 -04:00
-
fc747f96df
invalidUtf8 -> invalidStringByte
Andrew Noyes
2025-05-19 12:25:13 -04:00
-
a271d698d0
Include "callbacks.h"
Andrew Noyes
2025-05-19 11:36:02 -04:00
-
d279173482
Validate utf8
Andrew Noyes
2025-05-18 17:23:22 -04:00
-
452bbd3d9c
More corpus
Andrew Noyes
2025-05-18 17:21:13 -04:00
-
0a81c27155
Add corpus
Andrew Noyes
2025-05-18 14:40:50 -04:00
-
32b43e71da
Simplify fuzz test
Andrew Noyes
2025-05-18 14:14:45 -04:00
-
b7f6ed1c9c
Wee fuzz test and associated bug fixes
Andrew Noyes
2025-05-18 13:46:00 -04:00
-
9543aba2ad
Add streaming test
Andrew Noyes
2025-05-18 13:13:36 -04:00
-
5dd627f072
Call final parse call in bench
Andrew Noyes
2025-05-18 12:03:14 -04:00
-
7b546bf9cb
Fix test numbering
Andrew Noyes
2025-05-18 12:02:04 -04:00
-
249154f0a3
Remove musttail definition in test.cpp
Andrew Noyes
2025-05-18 11:59:25 -04:00
-
9f6a04c3e8
Remove Parser1
Andrew Noyes
2025-05-18 11:54:37 -04:00
-
c65cf44cc8
Call data callbacks
Andrew Noyes
2025-05-18 11:50:16 -04:00
-
a47d791ff8
Comment out debugPrint
Andrew Noyes
2025-05-18 11:43:16 -04:00
-
e06b0d0cf6
Call non-data callbacks
Andrew Noyes
2025-05-18 11:43:05 -04:00
-
dd8b316e29
Remove parser2
Andrew Noyes
2025-05-18 11:42:48 -04:00
-
19208c0e0a
Pivot to simpler approach. Passes JSONTestSuite
Andrew Noyes
2025-05-18 11:34:12 -04:00
-
6cb7645675
Fix bogus assert
Andrew Noyes
2025-05-17 17:54:37 -04:00
-
01ffe4e15d
Organize members, tweak eof
Andrew Noyes
2025-05-17 17:52:19 -04:00
-
99e9688efe
Don't pass null to memchr
Andrew Noyes
2025-05-17 17:50:37 -04:00
-
925429f8e4
Add T_EOF
Andrew Noyes
2025-05-17 17:15:01 -04:00
-
37c860ce62
Combine prime and parse
Andrew Noyes
2025-05-17 13:41:28 -04:00
-
e10fb92801
Fix includes
Andrew Noyes
2025-05-17 13:34:30 -04:00
-
733dc576b7
Start organizing code
Andrew Noyes
2025-05-17 12:24:07 -04:00
-
6f0315e00c
Don't check for empty stack as often
Andrew Noyes
2025-05-16 17:00:18 -04:00
-
adedfc6435
Mention we don't validate utf-8
Andrew Noyes
2025-05-16 16:59:45 -04:00
-
2b640832f6
Use 64 bit index
Andrew Noyes
2025-05-16 16:52:18 -04:00
-
01e04ca166
Output delimiters for minifyCallbacks
Andrew Noyes
2025-05-16 16:11:28 -04:00
-
3c646732ac
Add .clangd
Andrew Noyes
2025-05-16 12:55:45 -04:00
-
dbf20328d1
Handle more "number" digits
Andrew Noyes
2025-05-16 12:54:13 -04:00
-
545836f6d2
Handle string framing (i.e. \")
Andrew Noyes
2025-05-16 12:38:38 -04:00
-
aa25751c17
static assert symbolNames is the right size
Andrew Noyes
2025-05-15 20:38:27 -04:00
-
3cedd66d74
Add whitespace nonterminal
Andrew Noyes
2025-05-15 20:33:56 -04:00
-
d8a8bcbd19
Fix some callback calls
Andrew Noyes
2025-05-15 19:53:22 -04:00
-
a7b8cc91ea
Remove Parser2::parseLiteral
Andrew Noyes
2025-05-15 17:39:07 -04:00
-
6fc0a7013e
Fix missing calls to on begin object/array
Andrew Noyes
2025-05-15 17:30:37 -04:00
-
a9ebff72b0
Close to streaming parser
Andrew Noyes
2025-05-15 17:24:37 -04:00
-
2507e34883
Prepare for streaming interface
Andrew Noyes
2025-05-15 16:36:01 -04:00
-
8720220303
Return Status instead of bool
Andrew Noyes
2025-05-14 20:38:01 -04:00
-
adbdae5730
Simplifications
Andrew Noyes
2025-05-14 20:04:03 -04:00
-
318fe49c31
gc sections on linux
Andrew Noyes
2025-05-14 19:55:29 -04:00
-
b15a598f2d
Simplify maybeSkipWs
Andrew Noyes
2025-05-14 19:52:11 -04:00
-
c30e3e6713
Fix parsing empty arrays/objects
Andrew Noyes
2025-05-14 19:41:57 -04:00
-
555b388509
Test empty list, object
Andrew Noyes
2025-05-14 19:31:22 -04:00
-
59932d5bbe
Just do a simple lookup table
Andrew Noyes
2025-05-14 15:47:32 -04:00
-
35ca9e4562
Don't track len separately
Andrew Noyes
2025-05-14 14:12:44 -04:00
-
9876afafb2
Add -mavx
Andrew Noyes
2025-05-14 09:28:06 -04:00
-
280962cdd0
simd maybeSkipWs. Not sure if faster
Andrew Noyes
2025-05-13 21:17:37 -04:00
-
36f8df4201
Mark Parser2::empty as const
Andrew Noyes
2025-05-13 17:55:44 -04:00
-
c822d0ffaa
Simplify table
Andrew Noyes
2025-05-13 17:49:12 -04:00
-
cf08854664
Copy strings in benchmarks
Andrew Noyes
2025-05-13 15:29:45 -04:00
-
73762b53db
Compare to simdjson
Andrew Noyes
2025-05-13 15:01:27 -04:00
-
a04a558276
Update parser descriptions
Andrew Noyes
2025-05-13 14:00:20 -04:00
-
d0447e64b2
Accept . in numbers
Andrew Noyes
2025-05-13 13:55:26 -04:00
-
4e4f69cb88
Add true, false, and null to sample json
Andrew Noyes
2025-05-13 13:48:35 -04:00
-
58a8380005
Remove some dead code
Andrew Noyes
2025-05-13 13:31:15 -04:00
-
b5f976208d
Save one iteration in parse_number
Andrew Noyes
2025-05-13 13:29:17 -04:00
-
1fab01516e
Make use of "expected symbol" info
Andrew Noyes
2025-05-13 13:24:45 -04:00
-
052e452669
Don't need to pop in reject
Andrew Noyes
2025-05-13 12:30:43 -04:00
-
496fb229ec
Pass symbol on top of stack to nextToken
Andrew Noyes
2025-05-13 12:29:48 -04:00