用于运算符重载的Java模块化扩展
Java Modular Extension for Operator Overloading
摘要:
本文介绍了一种用于Java语言编译器和集成开发环境(IDE)的模块化扩展(插件),它在保持向后兼容性的同时,为Java语言增加了运算符重载功能。该扩展使用了类似于SugarJ的基于库的语言可扩展性的思想。但与大多数语言扩展不同,它直接在编译器内部工作,没有任何外部预处理器。这提供了更快的编译速度,更好的语言兼容性和对本地开发工具(IDE,构建工具)的支持。扩展插件到javac和Eclipse Java编译器以及所有使用编译器的工具,如IDE(Netbeans,Eclipse,IntelliJ IDEA),构建工具(ant,maven,gradle)等。只需添加一个jar库到类路径和/或安装一个插件到IDE。本文还讨论了如何构建这样的Java编译器扩展。扩展源代码在http://amelentev.github.io/java-oo/上开放
英文摘要:
The paper introduces a modular extension (plugin) for Java language compilers and Integrated Development Environments (IDE) which adds operator overloading feature to Java language while preserving backward compatibility. The extension use the idea of library-based language extensibility similar to SugarJ. But unlike most language extensions, it works directly inside the compiler and does not have any external preprocessors. This gives much faster compilation, better language compatibility and support of native developer tools (IDE, build tools). The extension plugs into javac and Eclipse Java compilers as well as in all tools whose use the compilers such as IDEs (Netbeans, Eclipse, IntelliJ IDEA), build tools (ant, maven, gradle), etc. No compiler, IDE, build tools modification needed. Just add a jar library to classpath and/or install a plugin to your IDE. The paper also discuss on how to build such Java compiler extensions. The extension source code is open on http://amelentev.github.io/java-oo/
机构、总结、中文摘要均由AI分析而来,可能存在错误,请以论文正文为准。