83 Commits

Author SHA1 Message Date
e508cc62f5 Rename structures and free procedures to reflect module change 2024-10-26 19:33:10 +01:00
b3d54c307b Ignore clangd files 2024-10-26 19:33:10 +01:00
b2a2cb9036 Move structures and free procedures back to dedicated files 2024-10-26 19:33:10 +01:00
3a578e190f Assert success of alloc in deep_copy_* loops
Returning false here would leave the destination sequence in an
invalid state and may lead to leaked memory; until this is solved
properly it is safer to assert().
2024-10-26 19:21:05 +01:00
ecfbf2e5c4 Implement (non-negated) class desugaring 2024-10-26 19:21:05 +01:00
8e7e0f1bc0 Finish subexpr invariant test 2024-10-26 19:21:05 +01:00
07fc46ce38 Add success result to desugar_regex() 2024-10-26 19:21:05 +01:00
ac4e9911d8 Implement question mark desugaring 2024-10-26 19:21:05 +01:00
7e7a7f1cb7 Implement plus desugaring 2024-10-26 19:21:05 +01:00
295b68efa2 Rename some things in parse tree data structures 2024-10-26 19:21:05 +01:00
fd9fd7ce7f Add empty to term types 2024-10-26 15:49:37 +01:00
9494c08f36 Write invariant tests for desugaring 2024-10-26 15:39:13 +01:00
2bcdfbcd61 Expose parse tree free procedures 2024-10-26 15:09:06 +01:00
cdaea7a1ec Remove build/ contents at start of build script 2024-10-26 15:04:26 +01:00
316cba949d Rename parser* files to parse* 2024-10-26 15:04:23 +01:00
5011e516e4 Add parse_ prefix to parser type names 2024-10-26 13:34:27 +01:00
e906c64bda Modify grammar slighly to simplify parse tree 2024-10-26 12:44:00 +01:00
0c4b033d75 Rename regex_t to parse_tree_t and merge module into parser 2024-10-26 12:10:35 +01:00
a85367c2df Add more info to README 2024-10-25 19:09:36 +01:00
01fb9be1e7 Initialize everything explicitly in parser 2024-10-25 18:49:16 +01:00
b2f474336a Implement character class parsing 2024-10-25 18:49:16 +01:00
40db26a62d Handle quantifiers in parse_term() 2024-10-25 18:22:49 +01:00
80a26997b8 Add paren support to parser 2024-10-25 18:22:49 +01:00
da0175105d Implement special character escaping 2024-10-25 18:22:49 +01:00
a9b8e24007 Handle . in parse_term() 2024-10-25 18:22:49 +01:00
f434af5c96 Handle sequences in parser 2024-10-25 18:22:49 +01:00
584e92c29c Implement first iteration of parser and write test scripts 2024-10-25 14:24:50 +01:00
63facb3954 Write testing framework 2024-10-25 14:24:50 +01:00
1a607488ce Ignore build/ directory 2024-10-25 14:24:50 +01:00
27b4b28fba Define regex_t data structure and write build script 2024-10-25 14:24:50 +01:00
8f4fe21bcf Write script for formatting code 2024-10-25 14:22:20 +01:00
308deb3886 Add AGPL 3.0 license 2024-10-25 14:21:55 +01:00
2957e913c0 Create README with grammar spec 2024-10-25 13:33:59 +01:00