【发布时间】:2011-05-18 18:19:32
【问题描述】:
从 python 生成 java 的最佳方法是什么?
我想写一个装饰器,生成java代码来调用一个json版本的函数(我可以使用现有的装饰器来导出json api)。
生成 java 的最佳方法是什么,我应该在这里考虑 FSM 之类的东西吗?
理想情况下,我可以为服务器编写一次代码,并生成代码以与各种语言交互(首先是 java)。
编辑(从已删除答案的评论中提取):
java代码将在android上运行,而python代码将在django服务器中......另外,我希望能够静态生成java代码,并将其作为人们可以使用的API的一部分。
【问题讨论】:
-
如果可以避免的话,最好的方法就是不要生成这么复杂的东西。不过有一个提示:据我所知,从 AST(抽象语法树)之类的东西生成正确(不太可读,但正确)的代码相对“简单”(与所有其他可能性相反)——至少如果您对树格式(以及它所代表的内容)非常了解。这基本上意味着实现了一半的 java 编译器。
-
那么你的服务器会生成一些 Java(字节?)代码,Android 用户会执行这些代码来获取一些 JSON 数据?
-
显然,能够生成 java 代码的位只会在我们决定更改 API 时运行,而不是一直运行 :)
-
@delnan AST 肯定看起来是正确的,也许我可以使用 jython 的 java。
标签: java python abstract-syntax-tree fsm