• Stars
    star
    116
  • Rank 303,894 (Top 6 %)
  • Language
    JavaScript
  • License
    MIT License
  • Created over 10 years ago
  • Updated about 6 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A Beautiful Parser for the ECMAScript Language

esparse

esparse is a parser for the ECMAScript programming language, written in JavaScript. Given a string representing a JavaScript program, it will output an abstract syntax tree representing that program.

Project Goals

The primary goal of this project is to implement an ECMAScript parser:

  • Whose source code is clear, easy to follow, and aesthetically pleasing.
  • That is easy to extend or modify for language experimentation purposes.
  • That provides an AST structure which is easy to traverse, easy to manipulate, and is convenient for a wide variety of code transformation use cases.
  • Whose performance is comparable to other modern ECMAScript parsers which are written in JavaScript.

AST compatibility with other parsers is not a project goal. However, it is expected that any future changes to the AST protocol will be backward compatible with previous versions.

More Repositories

1

zen-observable

An Implementation of Observables for Javascript
JavaScript
885
star
2

js-classes-1.1

HTML
83
star
3

esdown

ES6+ to ES5 Compiler
JavaScript
46
star
4

es-cancel-token

Cancel Tokens for ECMAScript
44
star
5

node-default-module-proposal

A Modest Proposal for ES Modules in Node
36
star
6

es6now

ECMAScript 6 to 5 Compiler and Runtime Environment
JavaScript
29
star
7

skert

JavaScript-to-JavaScript compiler tools for holistic language design
JavaScript
27
star
8

proposal-private-symbols

A proposal for private symbols in JavaScript
JavaScript
21
star
9

es-abstract-refs

Abstract References Proposal for ECMAScript
20
star
10

htmltag

HTML Template Tag Compiler
JavaScript
18
star
11

es-typed-catch

Catch anything you like!
10
star
12

zen-push

Observable Push Streams
JavaScript
9
star
13

v8-promise

A Promise polyfill adapted from V8
JavaScript
9
star
14

hidden-state

Attach hidden state to object instances
JavaScript
8
star
15

node-web-modules

Web Modules for Node.js
JavaScript
8
star
16

storelax

An easy observable object store
JavaScript
8
star
17

straylight

A templating and rendering library for HTML
JavaScript
7
star
18

proposal-async-block

Eliminating the IIAAFE so you don't have to
6
star
19

proposal-async-context

4
star
20

streamware

Functional Tools for Asynchronous Streaming
JavaScript
4
star
21

zen-sh

Shelling with Tagged Template Strings
JavaScript
4
star
22

geneviv

Generators are the new observables
JavaScript
4
star
23

chromium-futures

C++
3
star
24

reflect.apply

Thoughts on a life in software
CSS
2
star
25

lightstyle

JavaScript
1
star
26

event-stream

JavaScript
1
star
27

async-iteration-buffer

JavaScript
1
star
28

hissyfit

Easy JS Errors
JavaScript
1
star
29

observe-protocol

JavaScript
1
star
30

es-observable-cancellation

JavaScript
1
star
31

htmltag-string

HTML string template tag
JavaScript
1
star
32

ziptar

Zip and Tar for Node.js
JavaScript
1
star
33

moon-unit

Unit Testing Library for JavaScript
JavaScript
1
star