我有一个项目,在这个项目中,用户需要为完全用javascript编写的ui定义一组指令。我需要有能力解析一串指令,然后将它们转换成指令。有没有100%是javascript的解析库?或者是在javascript中生成的生成器?谢谢!
发布于 2009-12-01 14:29:21
如果您想构建Javascript解析器和代码生成器,请查看JavaScript中的MetaII实现。
MetaII编译器教程将指导您构建一个完全自包含的编译器系统,该系统可以翻译自身和其他语言:
MetaII Compiler Tutorial
这一切都是基于Val Schorre的一篇令人惊叹的10页技术论文: META II: a Syntax-Oriented Compiler Writing Language from honest-to-god 1964。这个MetaII编译器完整的自我描述大约是30行!早在1970年,我就从这里学习了如何构建编译器。当你最终摸索编译器如何重新生成自己时,会有一个令人兴奋的时刻……
本教程解释了MetaII及其工作原理,并实现了将MetaII编译成JavaScript的MetaII。您可以很容易地修改此编译器来解析其他语言,并生成不同的Javascript。
我在大学时代就认识这个网站的作者,但和这个网站没有任何关系。
发布于 2013-04-28 07:27:38
Jison可能是Javascript最好、最活跃的词法分析器和解析器生成器。它模仿Bison和Yacc。
Jison:http://zaach.github.io/jison/
如果你只想要一个轻量级的词法分析器(大约100SLOC),你可以看看Lexed.js:https://github.com/tantaman/lexed.js
发布于 2009-12-01 10:23:01
对于简单的解析任务,我非常喜欢使用Pratt的Top Down Operator Precedence parser的变体。虽然Pratt使用一种古老的Lisp方言撰写原始论文,但相同的概念可以很容易地在几乎任何语言中使用。事实上,Douglas Crockford在Top Down Operator Precedence parsing in JavaScript上写了一篇很好的文章,这可能正是您所需要的。
https://stackoverflow.com/questions/1823612
复制相似问题