Index: mojo/public/tools/bindings/pylib/mojom/parse/parser.py |
diff --git a/mojo/public/tools/bindings/pylib/mojom/parse/parser.py b/mojo/public/tools/bindings/pylib/mojom/parse/parser.py |
index 0bd6094500ca770ec956f442c51bddff40d03d22..35ca5c790c8e0f698abc1dc8e19fef2bbbd20995 100644 |
--- a/mojo/public/tools/bindings/pylib/mojom/parse/parser.py |
+++ b/mojo/public/tools/bindings/pylib/mojom/parse/parser.py |
@@ -177,16 +177,22 @@ class Parser(object): |
"""method : NAME ordinal LPAREN parameter_list RPAREN response SEMI""" |
p[0] = ('METHOD', p[1], p[4], p[2], p[6]) |
- def p_parameter_list(self, p): |
- """parameter_list : parameter |
- | parameter COMMA parameter_list |
- | """ |
- if len(p) == 1: |
- p[0] = [] |
- elif len(p) == 2: |
- p[0] = [p[1]] |
- else: |
- p[0] = [p[1]] + p[3] |
+ def p_parameter_list_1(self, p): |
jamesr
2014/07/02 22:03:01
do _1 / _2 have any particular meaning? i'd expect
|
+ """parameter_list : """ |
+ p[0] = [] |
+ |
+ def p_parameter_list_2(self, p): |
+ """parameter_list : nonempty_parameter_list""" |
+ p[0] = p[1] |
+ |
+ def p_nonempty_parameter_list_1(self, p): |
+ """nonempty_parameter_list : parameter""" |
+ p[0] = [p[1]] |
+ |
+ def p_nonempty_parameter_list_2(self, p): |
+ """nonempty_parameter_list : nonempty_parameter_list COMMA parameter""" |
+ p[0] = p[1] |
+ p[0].append(p[3]) |
def p_parameter(self, p): |
"""parameter : typename NAME ordinal""" |