Java中的Java解释器或编译器
本质上,我正在为Java Au Naturel turtle程序构建一个非常精简的点击式IDE。其中最关键的部分是我目前的翻译。我已经从头到尾完成并构建了每一部分,以便正确地将命令写入列表,然后解析列表并执行相关方法
不幸的是,这一直是我与管道胶带的编程等价物结合在一起的东西,以使我的概念验证开始,而现在除了海龟特定的方法(思考循环、变量、条件语句)之外的任何事情都让我感到困惑
到目前为止,我已经编写了一个使用真正java语法的解释器,这样人们就可以看到代码,甚至可以在感到舒服的时候将其导出,以更传统的方式工作。我想保持这样
是否有更简单的方法从另一个Java程序中编写和运行Java程序?如果没有,请提供有关编写口译员的任何建议或资源。多谢各位^~^
(你可能会从Stack Exchange程序员那里认识到这个问题……不完全确定我是如何在那个网站而不是这个网站上结束的,但我仍然是一个狂热者,而不是一个专业人士,所以这个问题最好在这里提出来。)
编辑:正如computerfreaker已经说过的,这不是复制品。在发布之前,我已经看过这个问题,我的问题与JVM无关。这不是什么是什么的问题。我的问题是,是否有一种更简单的方法来制作和运行一个新系统。java文件,或者我应该继续尝试编写解释器
# 1 楼答案
请看这两个
https://github.com/albertlatacz/java-repl
http://unkrig.de/w/Janino
我在严肃的项目中使用过Janino作为嵌入式编译器,它工作非常可靠(java 6次)。不确定java 8的新语言功能是否最新
# 2 楼答案
看看ANTLR
http://www.antlr.org/
这是让解释器或编译器启动并运行的一种非常简单的方法,而且有Java语法
https://github.com/antlr/grammars-v4
有几十个以上,但它会给你一个想法,你需要做什么