| Index: tools/lexer_generator/automaton.py
|
| diff --git a/tools/lexer_generator/automaton.py b/tools/lexer_generator/automaton.py
|
| index e37df525487a49259b9ad5c17b29f50f8d99f6b2..dff7f0c75bfd65ab73b287f573ef0fa4c5792847 100644
|
| --- a/tools/lexer_generator/automaton.py
|
| +++ b/tools/lexer_generator/automaton.py
|
| @@ -154,11 +154,10 @@ class Automaton(object):
|
| def visit_all_states(self, visitor, visit_state = None, state_iter = None):
|
| return self.visit_states(self.start_set(), visitor, visit_state, state_iter)
|
|
|
| - # TODO use iters
|
| @staticmethod
|
| def epsilon_closure(states):
|
| - f = lambda acc, node: acc | node.epsilon_closure()
|
| - return reduce(f, states, set(iter(states)))
|
| + f = lambda state : state.epsilon_closure_iter()
|
| + return set(chain(iter(states), *map(f, states)))
|
|
|
| @staticmethod
|
| def __transition_states_for_char(valid_states, c):
|
|
|