Commit Graph

109 Commits

Author SHA1 Message Date
andrew dd8b316e29 Remove parser2 2025-05-18 11:42:48 -04:00
andrew 19208c0e0a Pivot to simpler approach. Passes JSONTestSuite 2025-05-18 11:34:12 -04:00
andrew 6cb7645675 Fix bogus assert 2025-05-17 17:54:37 -04:00
andrew 01ffe4e15d Organize members, tweak eof 2025-05-17 17:52:19 -04:00
andrew 99e9688efe Don't pass null to memchr 2025-05-17 17:50:37 -04:00
andrew 925429f8e4 Add T_EOF 2025-05-17 17:15:01 -04:00
andrew 37c860ce62 Combine prime and parse 2025-05-17 13:41:28 -04:00
andrew e10fb92801 Fix includes 2025-05-17 13:34:30 -04:00
andrew 733dc576b7 Start organizing code 2025-05-17 12:24:07 -04:00
andrew 6f0315e00c Don't check for empty stack as often 2025-05-16 17:00:18 -04:00
andrew adedfc6435 Mention we don't validate utf-8 2025-05-16 16:59:45 -04:00
andrew 2b640832f6 Use 64 bit index 2025-05-16 16:52:18 -04:00
andrew 01e04ca166 Output delimiters for minifyCallbacks 2025-05-16 16:11:28 -04:00
andrew 3c646732ac Add .clangd 2025-05-16 12:55:45 -04:00
andrew dbf20328d1 Handle more "number" digits 2025-05-16 12:54:13 -04:00
andrew 545836f6d2 Handle string framing (i.e. \") 2025-05-16 12:38:38 -04:00
andrew aa25751c17 static assert symbolNames is the right size 2025-05-15 20:38:27 -04:00
andrew 3cedd66d74 Add whitespace nonterminal 2025-05-15 20:33:56 -04:00
andrew d8a8bcbd19 Fix some callback calls 2025-05-15 19:53:22 -04:00
andrew a7b8cc91ea Remove Parser2::parseLiteral 2025-05-15 17:39:07 -04:00
andrew 6fc0a7013e Fix missing calls to on begin object/array 2025-05-15 17:30:37 -04:00
andrew a9ebff72b0 Close to streaming parser 2025-05-15 17:24:37 -04:00
andrew 2507e34883 Prepare for streaming interface 2025-05-15 16:36:01 -04:00
andrew 8720220303 Return Status instead of bool 2025-05-14 20:38:01 -04:00
andrew adbdae5730 Simplifications 2025-05-14 20:04:03 -04:00
andrew 318fe49c31 gc sections on linux 2025-05-14 19:55:29 -04:00
andrew b15a598f2d Simplify maybeSkipWs 2025-05-14 19:52:11 -04:00
andrew c30e3e6713 Fix parsing empty arrays/objects 2025-05-14 19:41:57 -04:00
andrew 555b388509 Test empty list, object 2025-05-14 19:31:22 -04:00
andrew 59932d5bbe Just do a simple lookup table 2025-05-14 15:47:32 -04:00
andrew 35ca9e4562 Don't track len separately 2025-05-14 14:12:44 -04:00
andrew 9876afafb2 Add -mavx 2025-05-14 09:28:06 -04:00
andrew 280962cdd0 simd maybeSkipWs. Not sure if faster 2025-05-13 21:17:37 -04:00
andrew 36f8df4201 Mark Parser2::empty as const 2025-05-13 17:55:44 -04:00
andrew c822d0ffaa Simplify table
Now we only have symbols that actually go on the stack
2025-05-13 17:52:56 -04:00
andrew cf08854664 Copy strings in benchmarks 2025-05-13 15:29:45 -04:00
andrew 73762b53db Compare to simdjson 2025-05-13 15:01:27 -04:00
andrew a04a558276 Update parser descriptions 2025-05-13 14:00:20 -04:00
andrew d0447e64b2 Accept . in numbers 2025-05-13 13:55:26 -04:00
andrew 4e4f69cb88 Add true, false, and null to sample json 2025-05-13 13:48:35 -04:00
andrew 58a8380005 Remove some dead code 2025-05-13 13:31:15 -04:00
andrew b5f976208d Save one iteration in parse_number 2025-05-13 13:29:17 -04:00
andrew 1fab01516e Make use of "expected symbol" info 2025-05-13 13:24:45 -04:00
andrew 052e452669 Don't need to pop in reject 2025-05-13 12:30:43 -04:00
andrew 496fb229ec Pass symbol on top of stack to nextToken 2025-05-13 12:29:48 -04:00
andrew 557e89f1a2 Remove PRESERVE_NONE 2025-05-13 11:58:31 -04:00
andrew 47d6705aaf Remove currentToken asserts 2025-05-13 11:52:12 -04:00
andrew 64a3b8ac8c Return token from nextToken again 2025-05-13 11:29:28 -04:00
andrew 30c9ad8690 Call nextToken from keepGoing 2025-05-13 11:23:24 -04:00
andrew b6adb2885f Minor tinkers 2025-05-13 11:21:51 -04:00