Start generating lexer states and transitions
This commit is contained in:
1 parent
5881f13380
commit
2122ca02fe
2 files changed
+43
-11
No files matched your search
+14
-11
@@ -39,19 +39,22 @@ module Imbecile
|
||||
end
|
||||
|
||||
def enumerate
|
||||
id = 0
|
||||
states = {}
|
||||
visit = lambda do |state|
|
||||
unless states.include?(state)
|
||||
id += 1
|
||||
states[state] = id
|
||||
state.transitions.each do |transition|
|
||||
visit[transition.destination]
|
||||
@_enumerated ||=
|
||||
begin
|
||||
id = 0
|
||||
states = {}
|
||||
visit = lambda do |state|
|
||||
unless states.include?(state)
|
||||
id += 1
|
||||
states[state] = id
|
||||
state.transitions.each do |transition|
|
||||
visit[transition.destination]
|
||||
end
|
||||
end
|
||||
end
|
||||
visit[@start_state]
|
||||
states
|
||||
end
|
||||
end
|
||||
visit[@start_state]
|
||||
states
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
Reference in new issue
Block a user