Javascript解析器生成器

时间:2011-06-02 06:13:37

标签: javascript parsing compiler-construction

我见过一些javascript解析器生成器:

  1. Jison(http://zaach.github.com/jison/

  2. PEG.js(http://pegjs.majda.cz/

  3. ANTLR(http://www.antlr.org/

  4. JS / CC(http://jscc.jmksf.com/

  5. 有没有人有过这方面的经验?

    有什么利弊?这些库是否可以投入生产?和表现?

    修改
    我想在javascript中解析并运行不同的语言

2 个答案:

答案 0 :(得分:10)

PEG.js非常容易使用。它的“在线尝试”功能对于学习如何快速使用系统非常有用。我目前正在Rhino环境中使用它来解析我正在编写的语言。我不是Rhino的忠实粉丝,但PEG.js肯定很好。

答案 1 :(得分:2)

我不确定你是否想要一个解析器生成器,它会吐出一个JavaScript编写的解析器或一个使用JavaScript语法来构建JavaScript解析器的解析器生成器。

无论如何,我只使用过ANTLR和JavaCC。 ANTLR允许您使用不同语言(C,C#,Java)生成解析器,并且可以在GUI树状表单上检查无上下文语法表达式。但是从来没有找到过它的JavaScript语法。

JavaCC有一个缺点。仅在Java中生成解析器。另一方面,我发现学习起来更容易,从构建解析器的部分步入 - 我发现最好的部分 - 构建你想要的任何东西,例如代码翻译器,翻译器等等。