Reviewers: marja,
Message:
Committed patchset #1 manually as r19183 (presubmit successful).
Description:
Experimental parser: output alias dot to html
[email protected]
BUG=
Committed: https://code.google.com/p/v8/source/detail?r=19183
Please review this at https://codereview.chromium.org/136753019/
SVN Base: https://v8.googlecode.com/svn/branches/experimental/parser
Affected files (+9, -1 lines):
M tools/lexer_generator/generator.py
M tools/lexer_generator/rule_parser.py
Index: tools/lexer_generator/generator.py
diff --git a/tools/lexer_generator/generator.py
b/tools/lexer_generator/generator.py
index
5d5a8e746fae1f477d5e3603175109105063763d..6d6ea83c38ea61cd8195c6401b6f4801046f8df1
100644
--- a/tools/lexer_generator/generator.py
+++ b/tools/lexer_generator/generator.py
@@ -86,11 +86,16 @@ def generate_html(rule_processor, minimize_default):
def generate_rule_tree_html(rule_processor):
scripts = []
loads = []
+ for i, (name, alias) in enumerate(list(rule_processor.alias_iter())):
+ alias_i = "alias_%d" % i
+ dot = alias.to_dot()
+ scripts.append(script_template % (alias_i, dot))
+ loads.append(load_template % ("alias [%s]" % name, alias_i))
for i, (name, automata) in
enumerate(list(rule_processor.automata_iter())):
rule_i = "rule_%d" % i
dot = automata.rule_term().to_dot()
scripts.append(script_template % (rule_i, dot))
- loads.append(load_template % ("rules [%s]" % name, rule_i))
+ loads.append(load_template % ("rule [%s]" % name, rule_i))
body = "\n".join(scripts) + (load_outer_template % "\n".join(loads))
return file_template % body
Index: tools/lexer_generator/rule_parser.py
diff --git a/tools/lexer_generator/rule_parser.py
b/tools/lexer_generator/rule_parser.py
index
788f182a3012588e2806524ec0bdb922ed9dc89f..4cd9a0877786b9cfce113bf73e46d7e730eab7a1
100644
--- a/tools/lexer_generator/rule_parser.py
+++ b/tools/lexer_generator/rule_parser.py
@@ -335,6 +335,9 @@ class RuleProcessor(object):
RuleParser.parse(string, self.__parser_state)
self.__process_parser_state()
+ def alias_iter(self):
+ return iter(self.__parser_state.aliases.items())
+
def automata_iter(self):
return iter(self.__automata.items())
--
--
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.