Notify President Madagascar

    ecma262-jison

    0.3.0-alpha.2 • Public • Published

    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));

    在线示例

    Keywords

    Install

    npm i ecma262-jison

    DownloadsWeekly Downloads

    31

    Version

    0.3.0-alpha.2

    License

    MIT

    Unpacked Size

    17.4 MB

    Total Files

    655

    Last publish

    Collaborators

    • w-y