Esprima

×

Status message

This proposal has been approved and the Esprima project has been created.
Basics

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 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.

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.

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.

People
Project Leads: 
Committers: 
Ariya Hidayat
Interested Parties: 

Eclipse Orion.

Source Code
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: