Re: [blink-dev] IDL compiler (V8 bindings generator) switched to Python

Showing 1-1 of 1 messages
Re: [blink-dev] IDL compiler (V8 bindings generator) switched to Python Nils Barth 2/27/14 10:25 PM
​​Thanks Adam and Yoshifumi!

I forgot to add the front-end benefit, which Yoshifumi brought up.
While the main motivation was to make the V8 code generator hackable, another goal was to reduce duplication in the front end (lexer/parser/constructor), and allow reuse of the IDL reading.

We previously had 4.1 IDL front ends (4 + 1 derived one) in the Chromium community (!).
This reduces us to 3.2, and Terry in Dart is working to use the Blink one, which will reduce us to 2.2. Once Pepper moves from its old parser to the new one, we'll be down to 1.2, with essentially no duplication: the standard-compliant Web IDL parser (by Noel Allen), and small derived ones per dialect (Pepper and Blink).
The Blink one is likely most reusable, as it includes a constructor that makes an easy-to-use object (of type IdlDefinitions), rather than an AST that needs walking.

The list is:
1: Web IDL parser (PLY): tools/idl_parser
2 derived parsers:
1.1: Pepper Plugin API parser: tools/idl_parser
1.2: Blink IDL parser: Source/bindings/scripts
2: Old Pepper parser (PLY): ppapi/generators
3: Dart parser (custom PEG parser/parser generator): tools/dom/scripts
4: Perl parser (IDLParser.pm)