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

Unified Diff: tools/lexer_generator/rule_parser.py

Issue 135053003: Experimental parser: remove inline code from lexer rules (Closed) Base URL: https://v8.googlecode.com/svn/branches/experimental/parser
Patch Set: Created 6 years, 11 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/rule_lexer.py ('k') | tools/lexer_generator/rule_parser_test.py » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/lexer_generator/rule_parser.py
diff --git a/tools/lexer_generator/rule_parser.py b/tools/lexer_generator/rule_parser.py
index e91a4fb857c44387a43184789ca33700eab6cf03..65b3f17a158fe9601a9c4e52ac4ad8e8cc92f779 100644
--- a/tools/lexer_generator/rule_parser.py
+++ b/tools/lexer_generator/rule_parser.py
@@ -120,23 +120,18 @@ class RuleParser:
rules['regex'].append((regex, precedence, action))
def p_action(self, p):
- '''action : ACTION_OPEN maybe_action_part OR maybe_action_part OR maybe_transition ACTION_CLOSE'''
+ '''action : ACTION_OPEN maybe_identifier_action OR maybe_identifier_action OR maybe_transition ACTION_CLOSE'''
p[0] = (p[2], p[4], p[6])
def p_default_action(self, p):
- 'default_action : ACTION_OPEN action_part ACTION_CLOSE'
+ 'default_action : ACTION_OPEN identifier_action ACTION_CLOSE'
p[0] = (None, p[2], None)
- def p_maybe_action_part(self, p):
- '''maybe_action_part : action_part
+ def p_maybe_identifier_action(self, p):
+ '''maybe_identifier_action : identifier_action
| empty'''
p[0] = p[1]
- def p_action_part(self, p):
- '''action_part : code
- | identifier_action'''
- p[0] = p[1]
-
def p_maybe_transition(self, p):
'''maybe_transition : IDENTIFIER
| empty'''
@@ -146,7 +141,6 @@ class RuleParser:
'''identifier_action : IDENTIFIER
| IDENTIFIER LEFT_PARENTHESIS RIGHT_PARENTHESIS
| IDENTIFIER LEFT_PARENTHESIS action_params RIGHT_PARENTHESIS'''
- assert p[1] != 'code'
if len(p) == 2 or len(p) == 4:
p[0] = (p[1], None)
elif len(p) == 5:
@@ -220,17 +214,6 @@ class RuleParser:
| empty'''
p[0] = p[1]
- def p_code(self, p):
- 'code : LEFT_BRACKET code_fragments RIGHT_BRACKET'
- p[0] = ('code', p[2].strip())
-
- def p_code_fragments(self, p):
- '''code_fragments : CODE_FRAGMENT code_fragments
- | empty'''
- p[0] = p[1]
- if len(p) == 3 and p[2]:
- p[0] = p[1] + p[2]
-
def p_empty(self, p):
'empty :'
« no previous file with comments | « tools/lexer_generator/rule_lexer.py ('k') | tools/lexer_generator/rule_parser_test.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698