astee v0.0.1
astee
ECMAScript AST toolkit
If links in this document not avaiable, please access [README on GitHub](./README.md) directly.
Description
You may learn some popular ECMAScript compilers in this package.
ToC
Links
Terms
References
Popular Compilers:
( Compilers will create AST from code. Some of them provides methods to generate code from AST.)
Acorn, @npm
A parser parsing JavaScript into an ESTree syntax tree. Many other compilers are based on it. It is also used in webpack as default parser for JavaScript.The Babel parser generates AST according to Babel AST format. It is based on ESTree spec with the following deviations: (There is now an estree plugin which reverts these deviations) ...
babylon, @npm
Predecessor of @babel/parser.... a tool for making JavaScript download and run faster. Instead of compiling from a source language to machine code, it compiles from JavaScript to better JavaScript. It parses your JavaScript, analyzes it, removes dead code and rewrites and minimizes what's left. It also checks syntax, variable references, and types, and warns about common JavaScript pitfalls.
... started out as a fork of Esprima v1.2.2, ... is now built on top of Acorn, ...
The goal of Espree is to produce output that is similar to Esprima with a similar API so that it can be used in place of Esprima.... a high performance, standard-compliant ECMAScript parser written in ECMAScript (also popularly known as JavaScript).
Sensible syntax tree format as standardized by ESTree projectgenerates a Shift AST from ECMAScript program text
... Mozilla's JavaScript engine written in C and C++.
A JavaScript parser and mangler/compressor toolkit for ES6+.
Used by TerserWebpackPlugin which is used in webpack by default.
... a JavaScript compressor/minifier written in JavaScript.
Code Generators:
- Escodegen, @npm
... an ECMAScript (also popularly known as JavaScript) code generator from Mozilla's Parser API AST.
Online Tools:
- AST Explorer
- Speed Comparison
provided by Esprima
Specs & Articles:
- The ESTree Spec
- The Super Tiny Compiler
- Distinguishing a Script and a Module
- UglifyJS — why not switching to SpiderMonkey AST
Others:
-- THE END --
5 years ago