|
70118dd019
|
Check for duplicate token/rule names in Generator
|
2021-06-21 22:34:43 -04:00 |
|
|
d552f2a540
|
CLI: accept --log option
|
2021-06-19 12:06:02 -04:00 |
|
|
d2fac07249
|
Add Generator class
|
2021-06-15 16:51:36 -04:00 |
|
|
a34272dfd6
|
Add Grammar::Rule class
|
2021-06-14 22:49:43 -04:00 |
|
|
9d05861819
|
Parse grammar input by multiline regex
|
2021-06-12 22:57:32 -04:00 |
|
|
db70f8b94d
|
Add "drop" grammar keyword to drop patterns
|
2021-06-09 22:48:30 -04:00 |
|
|
f67dd62b20
|
Add \s to expand to whitespace characters
|
2021-06-09 22:37:00 -04:00 |
|
|
c6bac6d3a1
|
Rename TokenDFA -> LexerDFA
|
2021-06-08 13:54:46 -04:00 |
|
|
930ac56148
|
Do not accept 0-length tokens
|
2021-06-06 15:29:30 -04:00 |
|
|
7f54778ba8
|
Rename Regex::DFA to TokenDFA
|
2021-06-06 15:18:21 -04:00 |
|
|
701903def2
|
Token should build its own NFA
|
2021-06-06 14:09:28 -04:00 |
|
|
afea886ecb
|
Add Grammar::Token class
|
2021-06-06 14:04:33 -04:00 |
|
|
03b2e87186
|
Grammar takes in input string instead of file name
|
2021-06-06 10:09:53 -04:00 |
|
|
e4370cac62
|
Print accepting token in FA#to_s
|
2021-06-06 09:59:28 -04:00 |
|
|
ed3f599e25
|
Create common FA/State/Transition classes across NFA/DFA
|
2021-06-06 09:41:23 -04:00 |
|
|
1228a76c55
|
Fix MultiplicityUnit#to_nfa again
|
2021-05-26 10:17:03 -04:00 |
|
|
538e360cb3
|
Fix MultiplicityUnit#to_nfa
|
2021-05-25 16:59:22 -04:00 |
|
|
e7f8c3726c
|
Fix NFA#to_s
|
2021-05-25 16:14:19 -04:00 |
|
|
b6e3a5c151
|
Record accepting token in DFA state
|
2021-05-25 16:00:25 -04:00 |
|
|
35ef94dbd3
|
Print out DFA to test
|
2021-05-25 15:52:47 -04:00 |
|
|
37e1252ded
|
Continue building DFA
|
2021-05-25 15:44:23 -04:00 |
|
|
214ece7d90
|
Add NFA::Transition, start on DFA construction
|
2021-05-23 21:41:50 -04:00 |
|
|
8473df421a
|
Add specs for CodePointRange
|
2021-05-23 20:41:40 -04:00 |
|
|
3987f08cd7
|
Add CodePointRange class
|
2021-05-23 17:52:20 -04:00 |
|
|
3a1650906e
|
Show non-printable characters better in NFA#to_s
|
2021-05-21 14:39:02 -04:00 |
|
|
952bffc33c
|
Move DFA#nil_transition_states to NFA::State
|
2021-05-21 14:27:42 -04:00 |
|
|
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 |
|