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

Unified Diff: tools/lexer_generator/generator.py

Issue 60733018: Experimental parser: dump minimal dfa into html (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 7 years, 1 month 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/dfa.py ('k') | tools/lexer_generator/rule_parser.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/lexer_generator/generator.py
diff --git a/tools/lexer_generator/generator.py b/tools/lexer_generator/generator.py
index 67f144ecab8c2236e49ac5beb8f69dcd4caea8f5..f11531ad7304d803ce7534b7ba61f9fc0fb16978 100644
--- a/tools/lexer_generator/generator.py
+++ b/tools/lexer_generator/generator.py
@@ -69,11 +69,15 @@ def generate_html(rule_processor):
loads = []
for i, (name, automata) in enumerate(list(rule_processor.automata_iter())):
(nfa, dfa) = (automata.nfa(), automata.dfa())
- (nfa_i, dfa_i) = ("nfa_%d" % i, "dfa_%d" % i)
+ mdfa = None if name == 'default' else automata.minimal_dfa()
+ (nfa_i, dfa_i, mdfa_i) = ("nfa_%d" % i, "dfa_%d" % i, "mdfa_%d" % i)
scripts.append(script_template % (nfa_i, nfa.to_dot()))
- scripts.append(script_template % (dfa_i, dfa.to_dot()))
loads.append(load_template % ("nfa [%s]" % name, nfa_i))
+ scripts.append(script_template % (dfa_i, dfa.to_dot()))
loads.append(load_template % ("dfa [%s]" % name, dfa_i))
+ if mdfa and mdfa != dfa:
+ scripts.append(script_template % (mdfa_i, mdfa.to_dot()))
+ loads.append(load_template % ("mdfa [%s]" % name, mdfa_i))
body = "\n".join(scripts) + (load_outer_template % "\n".join(loads))
return file_template % body
« no previous file with comments | « tools/lexer_generator/dfa.py ('k') | tools/lexer_generator/rule_parser.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698