Ste*_*ner 11 python java compiler-construction interpreter programming-languages
现在我正在编写我的博士论文,为Java的新规范语言构建一个语言处理器(参见JML,或者说#的C#),需要确定一个实现工具来开始开发.语言的研究方面(语法,语义,理论结果)与我的实现选择是正交的,所以我想使用Python(2.6+)是出于我自己的原因.最终产品将是或者编译器或解释器能够验证对用Java编写的程序的一些指定的属性.
在Python中构建编译器/解释器的最佳框架/库是什么?这个问题是否包含"电池"?
奖励积分授予具有Java 6+参考编译器的解决方案.
我个人不能忍受antlr,我使用lex/yacc作为我的解析器生成器.这是您可以使用的Python实现http://www.dabeaz.com/ply/.
这只是处理解析,但实际上甚至没有开始构建你的解释器.为此,你可能会从头开始构建它 - 我从来没有听说过专门针对它的图书馆(我很高兴看到其中的一些,如果你知道任何一个,请在评论中链接我).
看看这篇SO帖子如何开始编写一个非常简单的编程语言,它有很好的想法.