Chromium Code Reviews| 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""" |