mirror of
https://github.com/davidhalter/parso.git
synced 2025-12-06 21:04:29 +08:00
Update generator.py
This commit is contained in:
@@ -212,7 +212,8 @@ def _dump_nfa(start, finish):
|
|||||||
todo = [start]
|
todo = [start]
|
||||||
for i, state in enumerate(todo):
|
for i, state in enumerate(todo):
|
||||||
print(" State", i, state is finish and "(final)" or "")
|
print(" State", i, state is finish and "(final)" or "")
|
||||||
for label, next_ in state.arcs:
|
for arc in state.arcs:
|
||||||
|
label, next_ = arc.nonterminal_or_string, arc.next
|
||||||
if next_ in todo:
|
if next_ in todo:
|
||||||
j = todo.index(next_)
|
j = todo.index(next_)
|
||||||
else:
|
else:
|
||||||
@@ -244,7 +245,7 @@ def generate_grammar(bnf_grammar, token_namespace):
|
|||||||
rule_to_dfas = {}
|
rule_to_dfas = {}
|
||||||
start_nonterminal = None
|
start_nonterminal = None
|
||||||
for nfa_a, nfa_z in GrammarParser(bnf_grammar).parse():
|
for nfa_a, nfa_z in GrammarParser(bnf_grammar).parse():
|
||||||
#_dump_nfa(a, z)
|
#_dump_nfa(nfa_a, nfa_z)
|
||||||
dfas = _make_dfas(nfa_a, nfa_z)
|
dfas = _make_dfas(nfa_a, nfa_z)
|
||||||
#_dump_dfas(dfas)
|
#_dump_dfas(dfas)
|
||||||
# oldlen = len(dfas)
|
# oldlen = len(dfas)
|
||||||
|
|||||||
Reference in New Issue
Block a user