OLD | NEW |
1 #!/usr/bin/env python | 1 #!/usr/bin/env python |
2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. | 2 # Copyright (c) 2013 The Chromium Authors. All rights reserved. |
3 # Use of this source code is governed by a BSD-style license that can be | 3 # Use of this source code is governed by a BSD-style license that can be |
4 # found in the LICENSE file. | 4 # found in the LICENSE file. |
5 | 5 |
6 """ Parser for PPAPI IDL """ | 6 """ Parser for PPAPI IDL """ |
7 | 7 |
8 # | 8 # |
9 # IDL Parser | 9 # IDL Parser |
10 # | 10 # |
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 # [16] | 317 # [16] |
318 def p_Default(self, p): | 318 def p_Default(self, p): |
319 """Default : '=' DefaultValue | 319 """Default : '=' DefaultValue |
320 |""" | 320 |""" |
321 if len(p) > 1: | 321 if len(p) > 1: |
322 p[0] = self.BuildProduction('Default', p, 2, p[2]) | 322 p[0] = self.BuildProduction('Default', p, 2, p[2]) |
323 | 323 |
324 # [17] | 324 # [17] |
325 def p_DefaultValue(self, p): | 325 def p_DefaultValue(self, p): |
326 """DefaultValue : ConstValue | 326 """DefaultValue : ConstValue |
327 | string""" | 327 | string |
328 if type(p[1]) == str: | 328 | '[' ']'""" |
| 329 if len(p) == 3: |
| 330 p[0] = ListFromConcat(self.BuildAttribute('TYPE', 'sequence'), |
| 331 self.BuildAttribute('VALUE', '[]')) |
| 332 elif type(p[1]) == str: |
329 p[0] = ListFromConcat(self.BuildAttribute('TYPE', 'DOMString'), | 333 p[0] = ListFromConcat(self.BuildAttribute('TYPE', 'DOMString'), |
330 self.BuildAttribute('NAME', p[1])) | 334 self.BuildAttribute('NAME', p[1])) |
331 else: | 335 else: |
332 p[0] = p[1] | 336 p[0] = p[1] |
333 | 337 |
334 # [] - Not specified | 338 # [] - Not specified |
335 def p_Exception(self, p): | 339 def p_Exception(self, p): |
336 """Exception : EXCEPTION identifier Inheritance '{' ExceptionMembers '}' ';'
""" | 340 """Exception : EXCEPTION identifier Inheritance '{' ExceptionMembers '}' ';'
""" |
337 p[0] = self.BuildNamed('Exception', p, 2, ListFromConcat(p[3], p[5])) | 341 p[0] = self.BuildNamed('Exception', p, 2, ListFromConcat(p[3], p[5])) |
338 | 342 |
(...skipping 855 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1194 | 1198 |
1195 print '\n'.join(ast.Tree(accept_props=['PROD'])) | 1199 print '\n'.join(ast.Tree(accept_props=['PROD'])) |
1196 if errors: | 1200 if errors: |
1197 print '\nFound %d errors.\n' % errors | 1201 print '\nFound %d errors.\n' % errors |
1198 | 1202 |
1199 return errors | 1203 return errors |
1200 | 1204 |
1201 | 1205 |
1202 if __name__ == '__main__': | 1206 if __name__ == '__main__': |
1203 sys.exit(main(sys.argv[1:])) | 1207 sys.exit(main(sys.argv[1:])) |
OLD | NEW |