我们公司使用自己的(内置于此处)脚本语言进行编程,但他们希望创建将此脚本代码转换为Java的解释器.这种脚本语言非常严肃,所以这不小.
我被问到这个任务,但这似乎不是一件小事.在我做任何愚蠢的事情并开始编写数十亿行解析之前,我应该知道什么?我应该从哪里开始正确地做到这一点?
PS:我想将脚本文件转换为.java源代码,而不是直接转换为字节码.
如果要将脚本转换为Java,它不是解释器,而是编译器.如果您正在考虑在阅读期间执行脚本,那么它就是解释器.
但是,您应该查看JavaCC或Antlr.它们都适用于编译或翻译任务.您必须指定语言的语法规则,并且必须在Java中编写一些额外的逻辑,实现脚本语言的语义.如果要创建解释器,您编写的Java代码将生成更多Java(或任何)代码.如果需要编译器,您编写的Java代码将直接执行脚本.
另一个值得了解的概念是抽象语法树.
这是一个关于更多词法分析器和解析器生成器的综合列表.
| 归档时间: |
|
| 查看次数: |
5581 次 |
| 最近记录: |