abc: an extensible AspectJ compiler

abc: an extensible AspectJ compiler
复制标题

DOI:
10.1145/1052898.1052906
复制
发表时间:
2005-03
期刊:
--
影响因子:
--
通讯作者:
Pavel Avgustinov;Aske Simon Christensen;L. Hendren;Sascha Kuzins;Jennifer Lhoták;Ondřej Lhoták;O. Moor;D. Sereni;Ganesh Sittampalam;J. Tibble
Pavel Avgustinov;Aske Simon Christensen;L. Hendren;Sascha Kuzins;Jennifer Lhoták;Ondřej Lhoták;O. Moor;D. Sereni;Ganesh Sittampalam;J. Tibble
中科院分区:
其他
文献类型:
--
作者:
Pavel Avgustinov;Aske Simon Christensen;L. Hendren;Sascha Kuzins;Jennifer Lhoták;Ondřej Lhoták;O. Moor;D. Sereni;Ganesh Sittampalam;J. Tibble

文献摘要

被引文献

相似文献

在面向方面的编程语言设计中的研究需要一个工作台,以促进使用新的语言功能和实施技术的简便实验。特别是,已经提出了需要在许多维度上扩展的AspectJ的新功能:语法,类型检查和代码生成以及数据流量和控制流量分析。 ABC的基本版本实现了全方位语言。它的前端是使用Polyllot框架作为Java语言的模块化扩展而构建的。多语言的使用具有语法和类型检查的灵活性。后端是使用烟灰框架构建的,以进行模块化代码生成和分析。在本文中,我们概述了ABC的设计,主要关注设计如何支持可扩展性。然后,我们提供有关如何使用ABC实施扩展名的一般概述。最后,我们通过许多小但非平凡的例子说明了ABC的扩展机制。 ABC在GNU LGPL下免费提供。
Research in the design of aspect-oriented programming languages requires a workbench that facilitates easy experimentation with new language features and implementation techniques. In particular, new features for AspectJ have been proposed that require extensions in many dimensions: syntax, type checking and code generation, as well as data flow and control flow analyses.The AspectBench Compiler (abc) is an implementation of such a workbench. The base version of abc implements the full AspectJ language. Its frontend is built, using the Polyglot framework, as a modular extension of the Java language. The use of Polyglot gives flexibility of syntax and type checking. The backend is built using the Soot framework, to give modular code generation and analyses.In this paper, we outline the design of abc, focusing mostly on how the design supports extensibility. We then provide a general overview of how to use abc to implement an extension. Finally, we illustrate the extension mechanisms of abc through a number of small, but non-trivial, examples. abc is freely available under the GNU LGPL.