@gerhobbelt/esprima

ECMAScript parsing infrastructure for multipurpose analysis

Stats

stars 🌟issues ⚠️updated 🛠created 🐣size 🏋️‍♀️
02Mar 25, 2021Oct 21, 2015Minified + gzip package size for @gerhobbelt/esprima in KB

Readme

NPM version npm download Build Status Coverage Status

NOTE

This fork/clone of esprima tracks the original closely, but adds support for parsing JISON action code blocks, which MAY contain JISON-specific identifiers in the JavaScript code, e.g. $1, @1, #1 and #ID#.

Esprima (esprima.org, BSD license) is a high performance, standard-compliant ECMAScript parser written in ECMAScript (also popularly known as JavaScript). Esprima is created and maintained by Ariya Hidayat, with the help of many contributors.

Features

API

Esprima can be used to perform lexical analysis (tokenization) or syntactic analysis (parsing) of a JavaScript program.

A simple example on Node.js REPL:

> var esprima = require('esprima');
> var program = 'const answer = 42';

> esprima.tokenize(program);
[ { type: 'Keyword', value: 'const' },
  { type: 'Identifier', value: 'answer' },
  { type: 'Punctuator', value: '=' },
  { type: 'Numeric', value: '42' } ]
  
> esprima.parse(program);
{ type: 'Program',
  body:
   [ { type: 'VariableDeclaration',
       declarations: [Object],
       kind: 'const' } ],
  sourceType: 'script' }

For more information, please read the complete documentation.

If you find any bugs or have a feature request, please open an issue on github!

The npm package download data comes from npm's download counts api and package details come from npms.io.