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

Unified Diff: tools/lexer_generator/generator.py

Issue 68803002: Experimental lexer generator: Code generator skeleton. (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/transition_keys.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 7f929cd14bfd7e1b508ddf977c43ea81bb40793f..396a7bafdd42c30fcbe17564f3f205d4182f1678 100644
--- a/tools/lexer_generator/generator.py
+++ b/tools/lexer_generator/generator.py
@@ -134,12 +134,17 @@ class Generator(object):
(nfa, dfa) = self.__automata['default']
return dfa.lex(string)
+ def generate_code(self):
+ (nfa, dfa) = self.__automata['default']
+ return dfa.to_code()
+
if __name__ == '__main__':
parser = argparse.ArgumentParser()
parser.add_argument('--html')
parser.add_argument('--re', default='src/lexer/lexer_py.re')
parser.add_argument('--input')
+ parser.add_argument('--code')
args = parser.parse_args()
re_file = args.re
@@ -155,6 +160,13 @@ if __name__ == '__main__':
f.write(html)
print "wrote html to %s" % html_file
+ code_file = args.code
+ if code_file:
+ code = generator.generate_code()
+ with open(code_file, 'w') as f:
+ f.write(code)
+ print "wrote code to %s" % code_file
+
input_file = args.input
if input_file:
with open(input_file, 'r') as f:
« no previous file with comments | « tools/lexer_generator/dfa.py ('k') | tools/lexer_generator/transition_keys.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698