-
601829bd29
Increase length of benchmark strings
main
cdo
2024-11-10 16:29:44 +00:00
-
4131af3912
Assign match result to volatile in benchmarks
cdo
2024-11-10 16:28:38 +00:00
-
97529fdd2b
Write some matching benchmarks
cdo
2024-11-10 14:08:58 +00:00
-
e4d3b08bf2
Create benchmarking library
cdo
2024-11-10 13:16:10 +00:00
-
15a6195bf0
Use entr's -c flag in script
cdo
2024-11-10 14:46:37 +00:00
-
b7737fba39
Tweak README
cdo
2024-11-03 13:20:26 +00:00
-
dad687216b
Surround input regex with .*( ).* in demo
cdo
2024-11-03 12:31:06 +00:00
-
656726a8c1
Move regex_t into parse.h and rename to parse_tree_t
cdo
2024-11-03 12:20:17 +00:00
-
1f248ad4cd
Remove desugaring step
cdo
2024-11-03 12:16:52 +00:00
-
e283fd2c52
Support + and ? in construct_nfa()
cdo
2024-11-03 12:16:38 +00:00
-
1fea81b74b
Remove wildcard assert from desugar
cdo
2024-11-03 12:06:27 +00:00
-
77e1a77e02
Support wildcards in construct
cdo
2024-11-03 11:59:56 +00:00
-
892ff89a66
Add integration test using negated class
cdo
2024-11-03 11:54:34 +00:00
-
3c89cc4e99
Remove class desugaring
cdo
2024-11-03 11:54:08 +00:00
-
38b5b48289
Support classes in construct step
cdo
2024-11-03 11:53:49 +00:00
-
3c4146468e
Reorder header includes in compile.c
cdo
2024-11-03 11:53:38 +00:00
-
f95de25842
Turn off extensions in set_default_target_options
cdo
2024-11-02 23:46:39 +00:00
-
d6d5951b95
Fix allocation issue in FSA module
cdo
2024-11-02 23:15:15 +00:00
-
232295fff4
Fix bug in table growing routine
cdo
2024-11-02 23:14:59 +00:00
-
34fee99232
Fix bug in construct_nfa
cdo
2024-11-02 21:54:30 +00:00
-
074b174d0f
Create some integration tests
cdo
2024-11-02 16:41:50 +00:00
-
5dbcaaaf40
Add ASSERT_ACCEPTS and ASSERT_REJECTS testing macros
cdo
2024-11-02 16:38:32 +00:00
-
c6f0cf6381
Recurse on subexpression when desugaring
cdo
2024-11-02 16:10:07 +00:00
-
c935279def
Make demo program
cdo
2024-11-02 15:55:57 +00:00
-
18271a2988
Create compile module combining passes together
cdo
2024-11-02 15:41:33 +00:00
-
018aec5339
Move procedure for running NFA into FSA module
cdo
2024-11-02 15:40:58 +00:00
-
557ab451a8
Implement conversion from NFA to DFA
cdo
2024-11-02 14:14:36 +00:00
-
6b52d4d9cd
Implement min heap
cdo
2024-10-29 16:02:59 +00:00
-
730ec80220
No longer set state zero to be final in fsa_init()
cdo
2024-10-29 13:14:10 +00:00
-
d35fa4e9da
Rename construct to construct_nfa and improve tests
cdo
2024-10-27 17:57:13 +00:00
-
55e4e4f5ee
Add non-base-case construct tests and fix construct logic
cdo
2024-10-27 17:07:19 +00:00
-
3eb782f59f
Execute NFA rather than inspecting in construct_tests
cdo
2024-10-27 14:18:46 +00:00
-
d4b7a0a25c
Revert "Use char instead of int for FSA rule input"
cdo
2024-10-27 13:55:12 +00:00
-
d5b40f9324
Support subexpressions in construct()
cdo
2024-10-27 13:35:24 +00:00
-
bbecd12c91
Implement star construction
cdo
2024-10-27 13:24:29 +00:00
-
d54080032c
Remove invalid assert() in construct()
cdo
2024-10-27 13:24:12 +00:00
-
280168bb6f
Handle initial state being final in merge_fsas()
cdo
2024-10-27 13:22:23 +00:00
-
755f3f6805
Add runtime assertion on unhandled case in concat_fsas()
cdo
2024-10-27 13:21:10 +00:00
-
edc14bc1de
Tweak build script and README
cdo
2024-10-27 02:39:24 +00:00
-
99b8d3bcd0
Define PARSE_FAIL and use instead of -1 in parse.c
cdo
2024-10-27 02:16:00 +00:00
-
8743a45b2a
Use runtime asserts on allocation success in parse.c
cdo
2024-10-27 02:14:59 +00:00
-
721d0a2b49
Use runtime asserts instead of error returns in desugar.c
cdo
2024-10-27 02:07:59 +00:00
-
eb22abfb1b
Use char instead of int for FSA rule input
cdo
2024-10-27 01:52:33 +00:00
-
852102cab9
Implement union construction
cdo
2024-10-27 01:50:35 +00:00
-
afd4cf928c
Enable test output on failure in test.sh
cdo
2024-10-27 01:50:21 +00:00
-
007cddc292
Add some runtime assertions for state zero being final
cdo
2024-10-27 01:24:21 +01:00
-
c58cabd2e6
Replace build scripts with CMake
cdo
2024-10-27 00:12:17 +01:00
-
403d081e13
Move headers into include directories
cdo
2024-10-26 23:42:24 +01:00
-
2804638d84
Support sequences in construct()
cdo
2024-10-26 23:32:04 +01:00
-
2ac92f62f1
Implement NFA construction for empty expression and literals
cdo
2024-10-26 22:24:21 +01:00
-
5d980cf64b
Make scripts directly executable
cdo
2024-10-26 21:22:59 +01:00
-
8a06c7ceb6
Add ASSERT_LT() testing macro
cdo
2024-10-26 20:17:18 +01:00
-
ad6c385f42
Define FSA data structure
cdo
2024-10-26 19:57:10 +01:00
-
0ecab6c142
Rename free procedures
cdo
2024-10-26 19:36:42 +01:00
-
e508cc62f5
Rename structures and free procedures to reflect module change
cdo
2024-10-26 19:32:14 +01:00
-
b3d54c307b
Ignore clangd files
cdo
2024-10-26 19:22:06 +01:00
-
b2a2cb9036
Move structures and free procedures back to dedicated files
cdo
2024-10-26 19:20:13 +01:00
-
3a578e190f
Assert success of alloc in deep_copy_* loops
cdo
2024-10-26 19:15:17 +01:00
-
ecfbf2e5c4
Implement (non-negated) class desugaring
cdo
2024-10-26 17:50:12 +01:00
-
8e7e0f1bc0
Finish subexpr invariant test
cdo
2024-10-26 17:38:45 +01:00
-
07fc46ce38
Add success result to desugar_regex()
cdo
2024-10-26 17:37:14 +01:00
-
ac4e9911d8
Implement question mark desugaring
cdo
2024-10-26 16:49:18 +01:00
-
7e7a7f1cb7
Implement plus desugaring
cdo
2024-10-26 16:28:52 +01:00
-
295b68efa2
Rename some things in parse tree data structures
cdo
2024-10-26 15:52:58 +01:00
-
fd9fd7ce7f
Add empty to term types
cdo
2024-10-26 15:49:21 +01:00
-
9494c08f36
Write invariant tests for desugaring
cdo
2024-10-26 15:38:48 +01:00
-
2bcdfbcd61
Expose parse tree free procedures
cdo
2024-10-26 14:59:26 +01:00
-
cdaea7a1ec
Remove build/ contents at start of build script
cdo
2024-10-26 14:56:22 +01:00
-
316cba949d
Rename parser* files to parse*
cdo
2024-10-26 15:04:23 +01:00
-
5011e516e4
Add parse_ prefix to parser type names
cdo
2024-10-26 13:34:27 +01:00
-
e906c64bda
Modify grammar slighly to simplify parse tree
cdo
2024-10-26 12:43:28 +01:00
-
0c4b033d75
Rename regex_t to parse_tree_t and merge module into parser
cdo
2024-10-26 11:52:03 +01:00
-
a85367c2df
Add more info to README
cdo
2024-10-25 19:09:36 +01:00
-
01fb9be1e7
Initialize everything explicitly in parser
cdo
2024-10-25 18:46:01 +01:00
-
b2f474336a
Implement character class parsing
cdo
2024-10-25 18:40:38 +01:00
-
40db26a62d
Handle quantifiers in parse_term()
cdo
2024-10-25 14:59:24 +01:00
-
80a26997b8
Add paren support to parser
cdo
2024-10-25 14:50:56 +01:00
-
da0175105d
Implement special character escaping
cdo
2024-10-25 14:21:23 +01:00
-
a9b8e24007
Handle . in parse_term()
cdo
2024-10-25 14:16:56 +01:00
-
f434af5c96
Handle sequences in parser
cdo
2024-10-25 14:10:07 +01:00
-
584e92c29c
Implement first iteration of parser and write test scripts
cdo
2024-10-25 13:33:31 +01:00
-
63facb3954
Write testing framework
cdo
2024-10-25 12:30:45 +01:00
-
1a607488ce
Ignore build/ directory
cdo
2024-10-25 13:31:27 +01:00
-
27b4b28fba
Define regex_t data structure and write build script
cdo
2024-10-25 13:30:33 +01:00
-
8f4fe21bcf
Write script for formatting code
cdo
2024-10-25 13:32:28 +01:00
-
308deb3886
Add AGPL 3.0 license
cdo
2024-10-25 11:34:23 +01:00
-
2957e913c0
Create README with grammar spec
cdo
2024-10-25 11:31:21 +01:00