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