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.

Reply via email to