运算符重载Java插件

Red*_*ena 8 java compiler-construction

我见过一些不错的Java编译器黑客,你可以用throw-exception语句替换断言,你可以为字段自动生成属性等等......

我只是想知道...

是否有可能破解Java编译器以便它支持运算符重载?

编辑:

这并不是说我错过了Java中的运算符重载等等.我只是想知道是否可以使用上面给出的链接中提到的hack来实现它.所以请不要建议我切换到其他语言,如Scala(我已经在学习了!:D).

编辑:

请告诉我是否可以使用JSR 269或类似的东西来做到这一点.:|

谢谢.

Chi*_*chi 5

在回答编辑过的问题时,在Java中实现真正的运算符重载的唯一方法是将其添加到语言中.这意味着您必须更改编译器以编译代码或编写将代码转换为标准Java的预处理器.对于前者,您可以从GNUOpenJDK项目下载几乎完整的FOSS java实现.对于后者,您可以使用JavaCC等编写自己的解析器(示例在此页面上),也可以使用JFront作为基础来添加自己的语法.