JStify progress update (2)

December 2, 2007 § Leave a comment

Work on JStify proceeds a bit slower than expected, due to difficulties with the specificationss & Reference Implementation of ECMAScript 4.

  • Lexer
    • Features: 95% implemented. The only missing thing is that JStify currently restricts identifiers to C-style identifiers rather than accepting most Unicode characters. Still tweaking error reports.
    • Tests: 100% success.
    • Usability: works.
  • Syntactic analysis
    • Features: about 70% implemented. The basic structure is there, with the exception of parsing XML embedded inside ECMAScript. A number of rules, however, need to be reworked to add explicit lookaheads and avoid ambiguities. Although tweaking error reports.
    • Tests:
      • Suite1: 50 pass / 13 fail.
      • Suite2: 67 pass / 76 fail.
      • Suite3: 118 pass / 1766 fail.
  • Building the syntax tree
    • Features: about 5% implemented.

Initially, I expected to finish the parser by the end of November. Obviously, that’ll have to wait a few more months. The main issue is that I’m one of the first to attempt implementing the official grammar of ECMAScript 4 and, well, half of my time is spent tracking bugs or inconsistencies between the official grammar and the official implementation. Life as an explorer…


After discussing the matter with several of the authors of ECMAScript 4, it turns out that a number of the tests I’ve been using, although provided with their reference implementation, are invalid/obsolete. In particular, this brings us to the following updated statistics :

  • New suite 1 (small samples): 58 pass / 0 fail.
  • New suite 2 (standard library): 4 pass / 40 fail.
  • New suite 3 (regression tests): 60 pass / 1022 fail (ouch !)

My work for the ongoing weeks is therefore going to focus on getting the standard library to parse.


Tagged: , , , , , , ,

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s

What’s this?

You are currently reading JStify progress update (2) at Il y a du thé renversé au bord de la table.


%d bloggers like this: