|
656726a8c1
|
Move regex_t into parse.h and rename to parse_tree_t
|
2024-11-03 12:23:58 +00:00 |
|
|
1f248ad4cd
|
Remove desugaring step
|
2024-11-03 12:16:52 +00:00 |
|
|
e283fd2c52
|
Support + and ? in construct_nfa()
|
2024-11-03 12:16:38 +00:00 |
|
|
1fea81b74b
|
Remove wildcard assert from desugar
|
2024-11-03 12:06:27 +00:00 |
|
|
77e1a77e02
|
Support wildcards in construct
|
2024-11-03 11:59:56 +00:00 |
|
|
892ff89a66
|
Add integration test using negated class
|
2024-11-03 11:55:05 +00:00 |
|
|
3c89cc4e99
|
Remove class desugaring
|
2024-11-03 11:55:05 +00:00 |
|
|
38b5b48289
|
Support classes in construct step
|
2024-11-03 11:55:05 +00:00 |
|
|
d6d5951b95
|
Fix allocation issue in FSA module
|
2024-11-02 23:15:27 +00:00 |
|
|
34fee99232
|
Fix bug in construct_nfa
Intermediate final states were being left in by add_fsa(); we always
want to mark the added FSA's final state as non-final.
|
2024-11-02 23:12:23 +00:00 |
|
|
074b174d0f
|
Create some integration tests
|
2024-11-02 17:35:04 +00:00 |
|
|
5dbcaaaf40
|
Add ASSERT_ACCEPTS and ASSERT_REJECTS testing macros
|
2024-11-02 17:24:40 +00:00 |
|
|
c6f0cf6381
|
Recurse on subexpression when desugaring
|
2024-11-02 17:24:40 +00:00 |
|
|
018aec5339
|
Move procedure for running NFA into FSA module
|
2024-11-02 16:23:44 +00:00 |
|
|
557ab451a8
|
Implement conversion from NFA to DFA
|
2024-11-02 16:23:44 +00:00 |
|
|
6b52d4d9cd
|
Implement min heap
|
2024-11-02 14:15:22 +00:00 |
|
|
730ec80220
|
No longer set state zero to be final in fsa_init()
|
2024-10-29 13:14:35 +00:00 |
|
|
d35fa4e9da
|
Rename construct to construct_nfa and improve tests
|
2024-10-29 09:29:10 +00:00 |
|
|
55e4e4f5ee
|
Add non-base-case construct tests and fix construct logic
|
2024-10-27 17:07:19 +00:00 |
|
|
3eb782f59f
|
Execute NFA rather than inspecting in construct_tests
|
2024-10-27 14:18:46 +00:00 |
|
|
d5b40f9324
|
Support subexpressions in construct()
|
2024-10-27 13:35:45 +00:00 |
|
|
bbecd12c91
|
Implement star construction
|
2024-10-27 13:33:40 +00:00 |
|
|
721d0a2b49
|
Use runtime asserts instead of error returns in desugar.c
The error paths are not tested and are mostly for NULL allocations so
it makes more sense to use runtime asserts for now for simplicity's
sake.
|
2024-10-27 02:15:34 +00:00 |
|
|
852102cab9
|
Implement union construction
|
2024-10-27 01:50:35 +00:00 |
|
|
c58cabd2e6
|
Replace build scripts with CMake
Rebuilding everything each time was getting a bit slow.
|
2024-10-27 00:12:57 +01:00 |
|
|
403d081e13
|
Move headers into include directories
|
2024-10-27 00:06:15 +01:00 |
|
|
2804638d84
|
Support sequences in construct()
|
2024-10-27 00:06:15 +01:00 |
|
|
2ac92f62f1
|
Implement NFA construction for empty expression and literals
|
2024-10-27 00:06:15 +01:00 |
|
|
8a06c7ceb6
|
Add ASSERT_LT() testing macro
|
2024-10-26 22:17:53 +01:00 |
|
|
ad6c385f42
|
Define FSA data structure
|
2024-10-26 22:17:53 +01:00 |
|
|
0ecab6c142
|
Rename free procedures
|
2024-10-26 19:36:59 +01:00 |
|
|
e508cc62f5
|
Rename structures and free procedures to reflect module change
|
2024-10-26 19:33:10 +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 |
|
|
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 |
|
|
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 |
|
|
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 |
|