|
f64f3683c6
|
Add NFA#to_s
|
2021-05-21 14:24:16 -04:00 |
|
|
43f5caf449
|
Fix some NFA creation
|
2021-05-20 17:34:18 -04:00 |
|
|
f38a7456e9
|
Add DFA#nil_transition_states
|
2021-05-20 17:08:34 -04:00 |
|
|
c77c81bf25
|
Mark regex NFA end state as accepting the token
|
2021-05-18 16:34:26 -04:00 |
|
|
7196a0605a
|
Add DFA class
|
2021-05-18 16:31:16 -04:00 |
|
|
24054461a2
|
Merge Regex::Parser into Regex, move Unit to its own file
|
2021-05-18 16:14:42 -04:00 |
|
|
89a5976064
|
Make Regex::Parser build a NFA after parsing
|
2021-05-18 16:07:39 -04:00 |
|
|
791340b292
|
Build NFA for each token pattern
|
2021-05-17 22:57:18 -04:00 |
|
|
cf8718b69c
|
Allow token definition with no pattern
|
2021-05-17 22:40:23 -04:00 |
|
|
39f164a7db
|
Parse . in a regex
|
2021-05-17 17:20:56 -04:00 |
|
|
70b3e56de2
|
Store all characters as ranges; add CharacterClassUnit#to_nfa
|
2021-05-14 13:52:03 -04:00 |
|
|
2e8e72a1e8
|
Add CharacterClassUnit and use it instead of AlternatesUnit
|
2021-05-14 12:32:53 -04:00 |
|
|
ea27baa630
|
Add #to_nfa for other regex unit types
|
2021-05-13 15:57:09 -04:00 |
|
|
d8dd64d860
|
Add NFA class
Start converting units to NFAs
|
2021-05-13 00:01:12 -04:00 |
|
|
54cefda186
|
Use Parser
|
2021-05-11 16:52:28 -04:00 |
|
|
33f9d01883
|
Rename start/end to min/max for CharacterRangeUnit
|
2021-05-11 15:28:45 -04:00 |
|
|
9b09625c8a
|
Fix parsing - at beginning of negated character class
|
2021-05-11 14:57:16 -04:00 |
|
|
6119d860bc
|
Fix character class parsing into an AlternatesUnit
|
2021-05-11 14:57:01 -04:00 |
|
|
611ebeeddd
|
Fix max multiplicity count parsing
|
2021-05-11 11:37:46 -04:00 |
|
|
449eec4982
|
Fix multiplicity count parsing
|
2021-05-11 11:33:10 -04:00 |
|
|
885ef6c151
|
Rename Regex::Unit -> Regex::Parser
|
2021-05-07 16:57:05 -04:00 |
|
|
b8c01ca1d1
|
Move Unit stuff from Imbecile::Regex to Imbecile::Regex::Unit
|
2021-05-07 15:10:51 -04:00 |
|
|
b04ff56308
|
Add Regex class
|
2021-05-02 15:22:45 -04:00 |
|
|
ca1d2d1e5c
|
Fix class name determination from output file name
|
2021-05-01 17:01:15 -04:00 |
|
|
13403405b0
|
Add Error class to handle grammar loading errors
|
2021-05-01 16:54:24 -04:00 |
|
|
07dd68e367
|
Write output file from ERB template
|
2021-05-01 16:44:01 -04:00 |
|
|
c1666a1e74
|
Require output file on command line
|
2021-05-01 14:52:16 -04:00 |
|
|
768a0ef17f
|
Extract class name from grammar file
|
2021-05-01 14:34:00 -04:00 |
|
|
9e865d1982
|
Throw error on unexpected grammar input line
|
2021-05-01 09:40:22 -04:00 |
|
|
9884047090
|
Skip blank lines
|
2021-05-01 09:39:19 -04:00 |
|
|
04393dcc51
|
Check for duplicate token names; skip comment lines
|
2021-05-01 09:38:08 -04:00 |
|
|
7f27b3fd6f
|
Exit with CLI exit code
|
2021-05-01 09:34:38 -04:00 |
|
|
37ad87d602
|
Rename GrammarParser -> Grammar
|
2021-05-01 09:33:35 -04:00 |
|
|
23b7782a5d
|
Begin parsing grammar
|
2021-05-01 09:31:12 -04:00 |
|
|
0cc4516c0e
|
Add GrammarParser class to parse input file
|
2021-05-01 08:22:14 -04:00 |
|
|
75a1049040
|
Parse command-line options
|
2021-05-01 08:16:09 -04:00 |
|
|
d879a93d09
|
Add bin/imbecile and Imbecile::CLI module
|
2021-04-29 23:26:52 -04:00 |
|
|
04e17cde30
|
Add "bundle gem"-generated files
|
2021-04-29 23:22:23 -04:00 |
|