用于Java的语法预处理程序

时间:2011-11-27 23:41:19

标签: java macros dsl dsl-tools

我正在寻找一种Java宏语言,它提供了方便的闭包方式(编译为匿名内部类)和列表理解(编译为基本的java循环)。

我正在寻找的那种东西的例子是Xtend2 http://www.eclipse.org/Xtext/#xtend2

但是我想要一些用于通用编程的东西(Xtend2是非常特定的用于Xtext的DSL并且具有大量的依赖性)。甚至可能让我在一个文件中定义多个类(然后由预处理器将其分成两个单独的文件)。

这样的事情是否存在?

编辑添加: 我正在进行Android开发,因此任何替代方案都必须生成有效的Java源代码,或者字节代码必须与dalvik重新编译器兼容。

2 个答案:

答案 0 :(得分:0)

嗯,曾经有JSE,这在当天很有趣。

Mirah很酷,但尚未准备好迎接黄金时段,IMO。

虽然您的源视图是Java,但您可以使用智能模板做很多事情。

关于在几天前使用Android上的XTend也有关于SO的帖子。

答案 1 :(得分:0)

Frege生成java源代码。

我不知道dalvik是否愿意。 (但我有兴趣听到......) 当然,你有一些运行时库代码。

话虽如此,有许多其他项目在java中执行闭包等,例如:lambdaj