| Index: tools/lexer_generator/code_generator.py
|
| diff --git a/tools/lexer_generator/code_generator.py b/tools/lexer_generator/code_generator.py
|
| index 559b8d95442a666c9f8d858a0d4c8b5321accf43..82b30bbaa5b5ac9775e484d2de46dbb7c0ab4a9e 100644
|
| --- a/tools/lexer_generator/code_generator.py
|
| +++ b/tools/lexer_generator/code_generator.py
|
| @@ -88,11 +88,12 @@ code_%s:
|
|
|
| @staticmethod
|
| def dfa_to_code(dfa):
|
| + start_node_number = dfa.start_state().node_number()
|
| code = '''
|
| YYCTYPE yych = *cursor_;
|
| goto code_%s;
|
| -''' % (dfa.start_state().node_number())
|
| - for n in dfa.all_states_iter():
|
| - code += CodeGenerator.dfa_state_to_code(n,
|
| - dfa.start_state().node_number())
|
| - return code
|
| +''' % start_node_number
|
| + def f(state, code):
|
| + code += CodeGenerator.dfa_state_to_code(state, start_node_number)
|
| + return code
|
| + return dfa.visit_all_states(f, code)
|
|
|