红联Linux门户
Linux帮助

JavaScript版的YYParser JSYYParser

发布时间:2012-10-02 15:21:40来源:红联作者:empast
YYParser是在Perl的Yapp基础上实现的基于JavaScript的LR(1)文法解析脚本生成器,这样说有一点点绕,但是实际上可以把它简 单理解为yacc的Perl/JavaScript混合版,它生成的解释器代码是存JS的,但生成工具是一段Perl脚本。

要理解YYParser的工作原理必须要有一点点DFA、LALR(1)、正则表达式方面的知识,如果完全不了解这些,建议温习一下编译原理。 YYParser是根据文法生成表驱动的LALR(1)分析算法,在设计文法表的时候,你可能需要一点点正则表达式的技巧。 不过ypj文件本身的格式并不复杂,通过参考例子,你应该能很容易地掌握它们的写法。

任何人可以用它来快速生成一个JavaScript实现的LR(1)文法解释器,这样可以用很低的成本让你的前端脚本拥有LALR(1)算法解释不同语言 文法的能力,比如用js去解释X-path,去分析bash文件或者去解释某些别的什么语言……

主页:http://code.google.com/p/jsyyparser/

来自:开源中国社区
文章评论

共有 0 条评论