Commit Graph

  • 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