|
578e165e2d
|
Fix off-by-one error in state IDs
|
2021-07-06 11:44:03 -04:00 |
|
|
4beb3d2016
|
Add some token constants
|
2021-06-27 23:09:42 -04:00 |
|
|
93cb25df62
|
Do not generate token names for drop tokens
|
2021-06-26 16:16:18 -04:00 |
|
|
98584ce07a
|
Add FA#build_tables
|
2021-06-24 15:06:10 -04:00 |
|
|
2122ca02fe
|
Start generating lexer states and transitions
|
2021-06-23 23:15:02 -04:00 |
|
|
ebc1d8f001
|
Fix FA#to_s to show correct destination state
|
2021-06-23 22:21:53 -04:00 |
|
|
5fecd5c6a2
|
Refactor into FA#enumerate
|
2021-06-22 22:01:39 -04:00 |
|
|
f67dd62b20
|
Add \s to expand to whitespace characters
|
2021-06-09 22:37:00 -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 |
|
|
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 |
|
|
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 |
|
|
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 |
|
|
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 |
|