All Projects → w-y → ecma262-jison

w-y / ecma262-jison

Licence: MIT license
Ecma262-jison is an ECMAScript parser written in js/jison. Try to build a ECMAScript parser in practice.

Programming Languages

javascript
184084 projects - #8 most used programming language

Labels

Projects that are alternatives of or similar to ecma262-jison

shinyComponent
Single-File Components powered app
Stars: ✭ 15 (-53.12%)
Mutual labels:  ecma
introduction-nodejs
Introduction to NodeJS
Stars: ✭ 13 (-59.37%)
Mutual labels:  ecma
kataw
An 100% spec compliant ES2022 JavaScript toolchain
Stars: ✭ 303 (+846.88%)
Mutual labels:  ecma

ECMA262-JISON

用js的Lex/Yacc工具来实现和扩展ECMAScript规范,学习ECMAScript规范并尝试打造一个parser。

Nothing increases your learning power more than working on something big, real, confusing and frustrating.

查看在线示例

安装

npm install ecma262-jison

构建

Nodejs v6版本以上,推荐使用v8或更高版本

git clone https://github.com/w-y/ecma262-jison.git

构建parser:

npm run buildparser

src到lib:

npm run build

测试:

npm run test

特性

目前已实现ECMAScript(7.0)的大部分语法特性,并扩展了JSX支持

特性 支持 备注
Arrows
Classes
Template Strings foo``
Destructuring
Default+Rest+Spread
Let + Const
Unicode \u{20BB7}
Modules
Enhanced Object Literals
Generators
jsx
Spread Element
Spread Property
ASI                       出错加分号重试方式

示例

const code = 'foo;';

const parser = require('ecma262-jison');

const ast = parser.parse(code);

console.log(JSON.stringify(ast, null, 2));

在线示例

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