Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(52)

Unified Diff: tools/lexer_generator/dfa.py

Issue 54303002: Experimental parser: some unit tests (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 7 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tools/lexer_generator/automata_test.py ('k') | tools/lexer_generator/nfa.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/lexer_generator/dfa.py
diff --git a/tools/lexer_generator/dfa.py b/tools/lexer_generator/dfa.py
index 945900680019bb2d95d6a00081630d717936b42f..4da6f541f9bc6335a58a4d8e66dd7fe594042067 100644
--- a/tools/lexer_generator/dfa.py
+++ b/tools/lexer_generator/dfa.py
@@ -78,6 +78,19 @@ class Dfa:
edge = next_edge - visited
return state
+ def matches(self, string):
+ state = self.__start
+ for c in string:
+ next_state = None
+ for key, transition_state in state.transitions().items():
+ if key.matches_char(c):
+ next_state = transition_state
+ break
+ if not next_state:
+ return False
+ state = next_state
+ return state in self.__terminal_set
+
def to_dot(self):
def f(node, node_content):
« no previous file with comments | « tools/lexer_generator/automata_test.py ('k') | tools/lexer_generator/nfa.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698