Commit Graph

50 Commits

Author SHA1 Message Date
6f0315e00c Don't check for empty stack as often 2025-05-16 17:00:18 -04:00
adedfc6435 Mention we don't validate utf-8 2025-05-16 16:59:45 -04:00
2b640832f6 Use 64 bit index 2025-05-16 16:52:18 -04:00
01e04ca166 Output delimiters for minifyCallbacks 2025-05-16 16:11:28 -04:00
3c646732ac Add .clangd 2025-05-16 12:55:45 -04:00
dbf20328d1 Handle more "number" digits 2025-05-16 12:54:13 -04:00
545836f6d2 Handle string framing (i.e. \") 2025-05-16 12:38:38 -04:00
aa25751c17 static assert symbolNames is the right size 2025-05-15 20:38:27 -04:00
3cedd66d74 Add whitespace nonterminal 2025-05-15 20:33:56 -04:00
d8a8bcbd19 Fix some callback calls 2025-05-15 19:53:22 -04:00
a7b8cc91ea Remove Parser2::parseLiteral 2025-05-15 17:39:07 -04:00
6fc0a7013e Fix missing calls to on begin object/array 2025-05-15 17:30:37 -04:00
a9ebff72b0 Close to streaming parser 2025-05-15 17:24:37 -04:00
2507e34883 Prepare for streaming interface 2025-05-15 16:36:01 -04:00
8720220303 Return Status instead of bool 2025-05-14 20:38:01 -04:00
adbdae5730 Simplifications 2025-05-14 20:04:03 -04:00
318fe49c31 gc sections on linux 2025-05-14 19:55:29 -04:00
b15a598f2d Simplify maybeSkipWs 2025-05-14 19:52:11 -04:00
c30e3e6713 Fix parsing empty arrays/objects 2025-05-14 19:41:57 -04:00
555b388509 Test empty list, object 2025-05-14 19:31:22 -04:00
59932d5bbe Just do a simple lookup table 2025-05-14 15:47:32 -04:00
35ca9e4562 Don't track len separately 2025-05-14 14:12:44 -04:00
9876afafb2 Add -mavx 2025-05-14 09:28:06 -04:00
280962cdd0 simd maybeSkipWs. Not sure if faster 2025-05-13 21:17:37 -04:00
36f8df4201 Mark Parser2::empty as const 2025-05-13 17:55:44 -04:00
c822d0ffaa Simplify table
Now we only have symbols that actually go on the stack
2025-05-13 17:52:56 -04:00
cf08854664 Copy strings in benchmarks 2025-05-13 15:29:45 -04:00
73762b53db Compare to simdjson 2025-05-13 15:01:27 -04:00
a04a558276 Update parser descriptions 2025-05-13 14:00:20 -04:00
d0447e64b2 Accept . in numbers 2025-05-13 13:55:26 -04:00
4e4f69cb88 Add true, false, and null to sample json 2025-05-13 13:48:35 -04:00
58a8380005 Remove some dead code 2025-05-13 13:31:15 -04:00
b5f976208d Save one iteration in parse_number 2025-05-13 13:29:17 -04:00
1fab01516e Make use of "expected symbol" info 2025-05-13 13:24:45 -04:00
052e452669 Don't need to pop in reject 2025-05-13 12:30:43 -04:00
496fb229ec Pass symbol on top of stack to nextToken 2025-05-13 12:29:48 -04:00
557e89f1a2 Remove PRESERVE_NONE 2025-05-13 11:58:31 -04:00
47d6705aaf Remove currentToken asserts 2025-05-13 11:52:12 -04:00
64a3b8ac8c Return token from nextToken again 2025-05-13 11:29:28 -04:00
30c9ad8690 Call nextToken from keepGoing 2025-05-13 11:23:24 -04:00
b6adb2885f Minor tinkers 2025-05-13 11:21:51 -04:00
bf9ff80a6d bench1 and bench2 2025-05-13 11:14:51 -04:00
6b5eb508d1 Move all pops to top of table functions 2025-05-13 10:59:48 -04:00
6d750390af Check for stack overflow 2025-05-13 10:48:19 -04:00
ae2ad167b9 Simplify index calculation 2025-05-12 23:26:19 -04:00
1197117258 Add PRESERVE_NONE 2025-05-12 23:15:46 -04:00
b22175e24d Add -fno-omit-frame-pointer 2025-05-12 23:15:21 -04:00
d90ea31ded Parser2: pushdown automata 2025-05-12 17:42:47 -04:00
9e56aa9612 Implement Parser1, simple recursive descent 2025-05-12 13:16:16 -04:00
weaselab
f1acb2d0a0 Initial commit 2025-05-12 15:14:57 +00:00