pol*_*nts 5 java eclipse language-features syntactic-sugar
假设我想向Java添加一些小的语法糖.只是添加正则表达式模式文字,或者可能是base-2文字或多行字符串等等.没有什么主要的语法(至少现在).
怎么会这样做呢?
我是否需要扩展字节码编译器?(那可能吗?)
我可以编写Eclipse插件来进行简单的源代码转换,然后再将其提供给标准的Java编译器吗?
我会看看Project Lombok,并尝试重用他们的尝试.他们使用Java 5注释来挂钩Java代理,该代理可以在编译代码之前操作抽象语法树.他们目前正致力于创建一个API,以允许编写可以与javac或Eclipse和NetBeans等主要IDE一起使用的自定义转换器.除了触发要生成代码的注释外,它们还计划添加语法更改(可能是mixin或Java 7之前的闭包语法).
(我可能会略微关闭一些细节,但我认为我非常接近).
Lombok是开源的,因此研究他们的代码并尝试在此基础上构建可能是一个良好的开端.
如果做不到这一点,您可以尝试更改javac编译器.虽然从我所听到的内容来看,对于那些不是编译器和Java专家的人来说,这可能会令人沮丧.
JRuby 的技术主管 Charles Nutter 用文字正则表达式扩展了 Javac。据我记得,他必须更改大约 3 行大小写。
请参阅http://twitter.com/headius/status/1319031705
这是关于如何向 javac 添加新运算符的精彩教程,http://www.ahristov.com/tutorial/java-compiler.html
有关更多类似的链接,请参阅我的javac hackers 链接列表。
| 归档时间: |
|
| 查看次数: |
562 次 |
| 最近记录: |