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