我对修改 Java 语法和一些隐式范式很感兴趣。由于我使用 Eclipse 进行开发,它提供了自己的编译器,也可以独立使用,我想知道是否无法扩展 ecj 以尊重其他语法规则(并正确处理它们)。
我的语法更改都可以通过从 AST 中删除元素并创建一些新元素来解决,因此我假设我想要做的事情是可能的,而无需深入研究字节码。
本质上,我想做的可以通过在实际编译之前“虚拟地”修改源代码来完成。但是我怀疑这样做会弄乱源映射,这会使调试变得很糟糕。
旁注:我知道 Lombok 项目,它扩展和更改了类编译,但是 Lombok 仅使用注释,并且严格来说不修改语法。所以我想做的是对语言规范更具侵入性。