我正在考虑做一个本科生项目,为简单/初级的自定义语言(如perl/C)构建一个解释器。如果有人能给我指明正确的开始方向,我会很高兴的。我找到的大多数书籍/资源都是关于编译器的理论实现的。有没有针对解释器的资源?我正在考虑用C++实现它,但我对解释器设计的知识知之甚少,因此任何书籍/参考资料的指针都将不胜感激
发布于 2010-08-18 22:15:09
在编译器和解释器之间,源代码的解析并没有太大的区别。这就是大多数关于编译器的教科书所讲的内容。
发布于 2010-08-18 22:22:43
现在有一些很好的工具可以实现自定义语言。
您可能希望查看Eclipse Modelling (http://www.eclipse.org)或MPS (http://www.jetbrains.com/mps/)中的Xtext,后者是IntelliJ的语言工作台,可以免费获得。
两者都允许您创建语言,并提供从源代码生成代码的工具和帮助创建代码的工具。
它们还创建抽象语法树,这些抽象语法树可以直接操作,即执行。然后你就有了一个解释器。
经典的方法是分别使用bison/yacc作为lexer解析器,目前有许多新的工具可用,如antlr。解析器的输出也是抽象语法树,可以执行、解释或生成代码。
发布于 2010-08-18 22:37:57
An Incremental Approach to Compiler Construction -它是关于创建编译器的,但它可能是一个很好的起点来查找参考资料。
https://stackoverflow.com/questions/3512994
复制相似问题