83 Commits
Author SHA1 Message Date
Greg Shuflin 1e91bf4efd Add benchmarking code for json parser 2023-03-10 01:16:06 -08:00
Greg Shuflin b86cbfd8ff Move json into testutil module 2023-03-10 01:12:46 -08:00
Greg Shuflin d132d8dbdd Add criterion crate + basic code 2023-03-10 00:45:04 -08:00
Greg Shuflin 5526ce7bd1 More test parameterization 2023-02-26 04:41:03 -08:00
Greg Shuflin 638139b7da Start using rstest 2023-02-26 04:29:15 -08:00
Greg Shuflin 0d69aa81c1 json_number test working 2023-02-26 03:52:19 -08:00
Greg Shuflin dfb151e2a3 More work on seq representation 2023-02-25 14:48:44 -08:00
Greg Shuflin 9a3745d25c implement representation for json_bool 2023-02-25 03:27:32 -08:00
Greg Shuflin 5aca3912fc Start making representation work 2023-02-25 03:00:29 -08:00
Greg Shuflin 377d515d40 cargo fmt 2023-02-25 02:50:43 -08:00
Greg Shuflin f15488194c Remove some uses of closures in test 2023-02-25 02:50:20 -08:00
Greg Shuflin 116e2fc361 Add readme blurb 2023-02-03 16:19:40 -08:00
Greg Shuflin ffa282e89d Add readme 2023-02-03 16:12:55 -08:00
Greg Shuflin 2fd8b1be16 Representation work 2023-01-22 14:26:54 -08:00
Greg Shuflin 864246c24a Rename test 2023-01-22 14:26:54 -08:00
Greg Shuflin 172275a5f6 add parse_string test 2022-12-05 00:46:53 -08:00
Greg Shuflin daab699f1f Proptest: doesn't crash 2022-12-04 00:22:33 -08:00
Greg Shuflin 50ca820cfe Add proptest 2022-12-04 00:16:14 -08:00
Greg Shuflin d735bbab3d Add arbitrary crate
cf. https://www.greyblake.com/blog/property-based-testing-in-rust-with-arbitrary/
2022-11-11 16:41:53 -08:00
Greg Shuflin 6ac19c8989 Make parser input more complex 2022-10-23 00:41:51 -07:00
Greg Shuflin f0e1d2b045 Clippy lints 2022-10-23 00:35:24 -07:00
Greg Shuflin 3f86c08dc1 Move json into integration test 2022-10-23 00:31:59 -07:00
Greg Shuflin 4f807b991b Remove current iteration of bnf code 2022-10-23 00:25:53 -07:00
Greg Shuflin 502bfa9587 Don't special-case choices2 2022-10-22 22:44:36 -07:00
Greg Shuflin 60141dd766 more bnf testing 2022-10-22 17:07:19 -07:00
Greg Shuflin a2845cecc8 Don't need static lifetime 2022-10-22 16:13:03 -07:00
Greg Shuflin 0b51aa5073 Start working on Bnf 2022-10-22 02:05:31 -07:00
Greg Shuflin 907e15a624 Add named parser 2022-10-21 22:45:42 -07:00
Greg Shuflin 035afbf22f Refactor parser module 2022-10-21 22:22:21 -07:00
Greg Shuflin 73845224d5 Start working on bnf() 2022-10-21 21:56:08 -07:00
Greg Shuflin a049236300 reorganize combinators 2022-10-21 19:34:27 -07:00
Greg Shuflin d14b470530 Reorganize module structure 2022-10-21 19:26:00 -07:00
Greg Shuflin cde41e6eda Add real-world json as a test case 2022-10-21 19:11:40 -07:00
Greg Shuflin 74b6a1e410 json object 2022-10-21 18:58:00 -07:00
Greg Shuflin c5f971f7ff Surrounded by combinator 2022-10-21 17:38:08 -07:00
Greg Shuflin 92155a8f36 Work around infinite recursion with closure 2022-10-21 17:06:33 -07:00
Greg Shuflin 9198fdd407 Use ParserInput trait 2022-10-21 16:19:41 -07:00
Greg Shuflin a8370ad216 Split up tests 2022-10-21 15:53:26 -07:00
Greg Shuflin d2cb787a13 Add test for recursive value in array
Currently broken, need to fix
2022-10-21 00:00:23 -07:00
Greg Shuflin 6633d10af0 choice work 2022-10-20 23:47:06 -07:00
Greg Shuflin bdaf712a25 need choice for 6-tuple 2022-10-20 23:39:51 -07:00
Greg Shuflin b7db411671 json array 2022-10-20 23:37:46 -07:00
Greg Shuflin 7a832b6ba2 more tests for separated_by 2022-10-20 23:34:21 -07:00
Greg Shuflin 5705876477 Separated by 2022-10-20 23:29:06 -07:00
Greg Shuflin d624a54fb0 Start working on DelimitedBy 2022-10-20 18:38:23 -07:00
Greg Shuflin ed4567d881 repeated parse() refactor 2022-10-20 18:14:28 -07:00
Greg Shuflin 282398c7b1 Fix string bug; delimited 2022-10-20 18:10:13 -07:00
Greg Shuflin e279fe314f starting json array 2022-10-20 17:55:46 -07:00
Greg Shuflin 03ff159c95 Use functions not closures 2022-10-19 22:36:10 -07:00
Greg Shuflin e6ce2cf34d then_ignore, ignore_then 2022-10-19 22:23:52 -07:00
Greg Shuflin 0d4ea42678 Just use repeated combinator 2022-10-19 22:06:10 -07:00
Greg Shuflin 567ea60642 repeated combinator 2022-10-19 19:42:29 -07:00
Greg Shuflin 26f813ee16 tests for json 2022-10-17 01:42:42 -07:00
Greg Shuflin 32508b25f5 json numbers 2022-10-17 01:26:33 -07:00
Greg Shuflin 64a50d5bf3 incremental tests 2022-10-17 00:49:13 -07:00
Greg Shuflin a02accf08a optional combinator 2022-10-17 00:47:19 -07:00
Greg Shuflin 8b010811e3 one_of combinator 2022-10-17 00:37:55 -07:00
Greg Shuflin dd9c05ccd1 More JSON 2022-10-16 21:36:23 -07:00
Greg Shuflin 2dc754c294 More choice impls 2022-10-16 20:16:03 -07:00
Greg Shuflin 4456734134 choice function 2022-10-16 20:07:45 -07:00
Greg Shuflin eaafdaa777 choice module 2022-10-16 19:21:43 -07:00
Greg Shuflin e584668efc combinators module 2022-10-16 19:16:21 -07:00
Greg Shuflin 5e94769ed2 primitives mod 2022-10-16 19:10:32 -07:00
Greg Shuflin 364ddeac00 Put Parser in separate module 2022-10-16 18:57:10 -07:00
Greg Shuflin a9f2d4d771 seq for tuples of lengths 2 - 5 2022-10-16 18:51:14 -07:00
Greg Shuflin 750cc23a29 Adjust visibility 2022-10-16 17:35:30 -07:00
Greg Shuflin 95a6d935e4 Rename seq -> tuple2 2022-10-16 17:34:21 -07:00
Greg Shuflin c5b351e8ee Move seq into separate module 2022-10-16 17:33:10 -07:00
Greg Shuflin c6b3f51e42 Adjust one_or_more 2022-10-16 17:25:12 -07:00
Greg Shuflin ec1406a057 Json type 2022-10-16 01:42:03 -07:00
Greg Shuflin 4e711ee898 Add BNF generation 2022-10-16 01:37:51 -07:00
Greg Shuflin 22d0aa73de Start json test 2022-10-16 01:36:20 -07:00
Greg Shuflin 8002b83a86 choice combinator 2022-10-16 01:29:48 -07:00
Greg Shuflin 00d866f2a1 then method 2022-10-16 01:10:48 -07:00
Greg Shuflin 981b5c08d0 Make map a method 2022-10-16 00:54:41 -07:00
Greg Shuflin d707249904 Boxed parser 2022-10-16 00:48:19 -07:00
Greg Shuflin 0c6c59da07 Predicate 2022-10-16 00:39:41 -07:00
Greg Shuflin 870c9beb54 zero or more 2022-10-16 00:30:34 -07:00
Greg Shuflin 4eda356fd7 one or more 2022-10-16 00:23:01 -07:00
Greg Shuflin 0ee53b8f00 Sequence 2022-10-16 00:12:39 -07:00
Greg Shuflin 3bc608d4a7 Map 2022-10-15 23:41:22 -07:00
Greg Shuflin 194e23a5be Commit 2022-10-15 23:36:04 -07:00
Greg Shuflin 25adedfec2 Initial commit 2022-10-10 00:13:39 -07:00