Status message

A Esprima Creation Review has been created for this proposal.

Esprima

Tuesday, July 8, 2014 - 23:37 by Ariya Hidayat
This proposal is in the Project Proposal Phase (as defined in the Eclipse Development Process) and is written to declare its intent and scope. We solicit additional participation and input from the community. Please login and add your feedback in the comments section.
Parent Project
Background

Advanced ECMAScript (popularly known as JavaScript) language tooling relies on composable building blocks. Among those building blocks, a syntax parser is very important. Esprima was created to serve as a standard-compliant and high-performant ECMAScript parser written in ECMAScript.

Scope

Esprima offers two very simple API function with the same input, i.e. a string that represents an ECMAScript code. The first function is the tokenizer function, the return value is an array of tokens. The second function is the parser function, the return value is a tree representing the syntax (AST). Esprima does not provide a tree traversal function, a code generator, or any other tools not related to parsing.

Description

Esprima is a standard-compliant, high performance ECMAScript parser written in ECMAScript.

Why Here?

Eclipse Orion has been using Esprima as the back-end for its Content Assist. It makes sense to join the effort and make Eclipse Orion as the ultimate home for Esprima.

Future Work

In next 12 months, the majority of the work involves adding support for ECMAScript 6, starting from features which are more stable and less likely going to change dramatically while ECMAScript 6 specification is being finalized.

Project Scheduling

The current master branch is quite stable. It can be released at any time. Currently it is targeted to carry the version number of 2.0.

Project Leads
Committers
Mentors
Interested Parties

Eclipse Orion.

Initial Contribution

Current code is hosted on GitHub: https://github.com/ariya/esprima. According to GitHub statistics, there are over 30 contributors. However, the majority of the code is are still from me (as the maintainer).

Source Repository Type