Reviewers: marja,
Message:
Committed patchset #1 manually as r17906 (presubmit successful).
Description:
Experimental parser: remove some dead code
[email protected]
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=17906
Please review this at https://codereview.chromium.org/78153002/
SVN Base: https://v8.googlecode.com/svn/branches/experimental/parser
Affected files (+6, -17 lines):
M tools/lexer_generator/nfa.py
M tools/lexer_generator/nfa_builder.py
M tools/lexer_generator/rule_parser.py
Index: tools/lexer_generator/nfa.py
diff --git a/tools/lexer_generator/nfa.py b/tools/lexer_generator/nfa.py
index
344ef70c54d861eb2e3be489b1ef3209d3bdc788..1464f801d2b64298b061c3567657123aa59a0c23
100644
--- a/tools/lexer_generator/nfa.py
+++ b/tools/lexer_generator/nfa.py
@@ -61,11 +61,6 @@ class NfaState(AutomatonState):
assert self.is_closed()
return self.__transitions
- def next_states(self, key_filter):
- assert self.is_closed()
- f = lambda acc, (k, v) : acc if not key_filter(k) else acc | set(v)
- return reduce(f, self.__transitions.items(), set())
-
def __add_transition(self, key, next_state):
if next_state == None:
assert not self.is_closed(), "already closed"
Index: tools/lexer_generator/nfa_builder.py
diff --git a/tools/lexer_generator/nfa_builder.py
b/tools/lexer_generator/nfa_builder.py
index
c5410b324d693466233b22cc7dbef846241b1173..d5a3e09c3bfe9354c21cebc8dcc319acecaf0c59
100644
--- a/tools/lexer_generator/nfa_builder.py
+++ b/tools/lexer_generator/nfa_builder.py
@@ -146,16 +146,12 @@ class NfaBuilder(object):
return self.__key_state(TransitionKey.unique('catch_all'))
def __join(self, graph):
- (graph, name, subgraph, modifier) = graph[1:]
+ (graph, name, subgraph) = graph[1:]
subgraphs = self.__peek_state()['subgraphs']
if not name in subgraphs:
subgraphs[name] = self.__nfa(subgraph)
(subgraph_start, subgraph_end, nodes_in_subgraph) = subgraphs[name]
(start, ends) = self.__process(graph)
- if modifier:
- assert modifier == 'ZERO_OR_MORE'
- for end in ends:
- end.add_epsilon_transition(subgraph_end)
self.__patch_ends(ends, subgraph_start)
end = self.__new_state()
subgraph_end.add_epsilon_transition(end)
@@ -214,7 +210,8 @@ class NfaBuilder(object):
is_epsilon = lambda k: k == TransitionKey.epsilon()
state_iter = lambda node : node.state_iter(key_filter = is_epsilon)
edge = set(state_iter(node))
- closure = Automaton.visit_states(edge, inner, state_iter=state_iter,
visit_state=set())
+ closure = Automaton.visit_states(
+ edge, inner, state_iter=state_iter, visit_state=set())
node.set_epsilon_closure(closure)
Automaton.visit_states(set([start_state]), outer)
@@ -260,10 +257,8 @@ class NfaBuilder(object):
return ('EPSILON',)
@staticmethod
- def join_subgraph(graph, name, subgraph, modifier):
- if modifier:
- modifier = NfaBuilder.__modifer_map[modifier]
- return ('JOIN', graph, name, subgraph, modifier)
+ def join_subgraph(graph, name, subgraph):
+ return ('JOIN', graph, name, subgraph)
@staticmethod
def or_graphs(graphs):
Index: tools/lexer_generator/rule_parser.py
diff --git a/tools/lexer_generator/rule_parser.py
b/tools/lexer_generator/rule_parser.py
index
d15ee23773bb218c84b59afe6ab7bab238e43882..9761bffa1ebd7da847c699dd3535f6fc5decb918
100644
--- a/tools/lexer_generator/rule_parser.py
+++ b/tools/lexer_generator/rule_parser.py
@@ -306,9 +306,8 @@ class RuleProcessor(object):
graph = NfaBuilder.add_continue(graph)
else:
assert subgraph == 'default'
- subgraph_modifier = None
graph = NfaBuilder.join_subgraph(
- graph, transition, rule_map[transition], subgraph_modifier)
+ graph, transition, rule_map[transition])
graphs.append(graph)
if continues == len(graphs):
graphs.append(NfaBuilder.epsilon())
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.