All Projects → jquery → Esprima

jquery / Esprima

Licence: bsd-2-clause
ECMAScript parsing infrastructure for multipurpose analysis

Programming Languages

javascript
184084 projects - #8 most used programming language
typescript
32286 projects

Projects that are alternatives of or similar to Esprima

Escaya
An blazing fast 100% spec compliant, incremental javascript parser written in Typescript
Stars: ✭ 217 (-96.6%)
Mutual labels:  ast, parser, parsing
Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (-98.5%)
Mutual labels:  ast, parser, parsing
Libdparse
Library for lexing and parsing D source code
Stars: ✭ 91 (-98.58%)
Mutual labels:  ast, parser, parsing
Meriyah
A 100% compliant, self-hosted javascript parser - https://meriyah.github.io/meriyah
Stars: ✭ 690 (-89.2%)
Mutual labels:  ast, parser, parsing
Astroid
A common base representation of python source code for pylint and other projects
Stars: ✭ 310 (-95.15%)
Mutual labels:  ast, parser
Postcss
Transforming styles with JS plugins
Stars: ✭ 25,612 (+300.75%)
Mutual labels:  ast, parser
Tolerant Php Parser
An early-stage PHP parser designed for IDE usage scenarios.
Stars: ✭ 717 (-88.78%)
Mutual labels:  ast, parser
Javaparser
Java 1-15 Parser and Abstract Syntax Tree for Java, including preview features to Java 13
Stars: ✭ 3,972 (-37.85%)
Mutual labels:  ast, parser
Nearley
📜🔜🌲 Simple, fast, powerful parser toolkit for JavaScript.
Stars: ✭ 3,089 (-51.67%)
Mutual labels:  parser, parsing
Estree
The ESTree Spec
Stars: ✭ 3,867 (-39.49%)
Mutual labels:  ast, parsing
Astexplorer
A web tool to explore the ASTs generated by various parsers.
Stars: ✭ 4,330 (-32.25%)
Mutual labels:  ast, parser
Exprtk
C++ Mathematical Expression Parsing And Evaluation Library
Stars: ✭ 301 (-95.29%)
Mutual labels:  ast, parser
Bblfshd
A self-hosted server for source code parsing
Stars: ✭ 297 (-95.35%)
Mutual labels:  ast, parser
Kgt
BNF wrangling and railroad diagrams
Stars: ✭ 312 (-95.12%)
Mutual labels:  parser, parsing
Jsqlparser
JSqlParser parses an SQL statement and translate it into a hierarchy of Java classes. The generated hierarchy can be navigated using the Visitor Pattern
Stars: ✭ 3,405 (-46.72%)
Mutual labels:  ast, parser
Ratel Core
High performance JavaScript to JavaScript compiler with a Rust core
Stars: ✭ 367 (-94.26%)
Mutual labels:  ast, parser
Tiny Compiler
A tiny compiler for a language featuring LL(2) with Lexer, Parser, ASM-like codegen and VM. Complex enough to give you a flavour of how the "real" thing works whilst not being a mere toy example
Stars: ✭ 425 (-93.35%)
Mutual labels:  ast, parser
Seafox
A blazing fast 100% spec compliant, self-hosted javascript parser written in Typescript
Stars: ✭ 425 (-93.35%)
Mutual labels:  parser, parsing
Tenko
An 100% spec compliant ES2021 JavaScript parser written in JS
Stars: ✭ 490 (-92.33%)
Mutual labels:  ast, parser
hxjsonast
Parse JSON into position-aware AST with Haxe!
Stars: ✭ 28 (-99.56%)
Mutual labels:  parsing, ast

NPM version npm download Tests Coverage Status

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.parseScript(program);
{ type: 'Program',
  body:
   [ { type: 'VariableDeclaration',
       declarations: [Object],
       kind: 'const' } ],
  sourceType: 'script' }

For more information, please read the complete documentation.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].