The abc Group Building the abc AspectJ compiler with Polyglot and Soot abc Technical Report No . abc - 2004 - 4

نویسندگان

  • Pavel Avgustinov
  • Aske Simon Christensen
  • Laurie Hendren
  • Sascha Kuzins
  • Jennifer Lhoták
  • Onďrej Lhoták
  • Oege de Moor
  • Damien Sereni
  • Ganesh Sittampalam
  • Julian Tibble
چکیده

Aspect-oriented programming and the development of aspect-oriented languages are rapidly gaining momentum, and the advent of this new kind of programming language provides interesting challenges for compiler developers, both in the frontend semantic analysis and in the backend code generation. This paper is about the design and implementation of the abc compiler for the aspect-oriented language AspectJ. In this paper we show how we can leverage existing compiler technology by combining Polyglot (an extensible compiler framework for Java) in the frontend and Soot (a framework for analysis and transformation of Java) in the backend. We provide a software architecture which cleanly separates these existing tools from the aspect-specific parts of the compiler. A second important contribution of the paper is that we describe our implementation strategies for new challenges that are specific to aspect-oriented language constructs. Although our compiler is targeted towards AspectJ, many of these ideas apply to aspect-oriented languages in general. Finally, we found that in developing abc we clarified many language issues which in turn simplified the implementation. Our abc compiler implements the full AspectJ language as defined by ajc 1.2 and is freely available under the GNU LGPL.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

The abc Group abc : An extensible AspectJ compiler abc Technical Report No . abc - 2004 - 1

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 Compil...

متن کامل

The abc Group abc : An extensible AspectJ compiler abc

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 Compil...

متن کامل

Building the abc AspectJ compiler with Polyglot and Soot

Aspect-oriented programming and the development of aspect-oriented languages is rapidly gaining momentum, and the advent of this new kind of programming language provides interesting challenges for compiler developers. Aspect-oriented language features require new compilation approaches, both in the frontend semantic analysis and in the backend code generation. This paper is about the design an...

متن کامل

The abc Group Optimising AspectJ abc Technical Report No . abc - 2004 - 3

AspectJ, an aspect-oriented extension of Java, is becoming increasingly popular. However, not much work has been directed at optimising compilers for AspectJ. Optimising AOP languages provides many new and interesting challenges for compiler writers, and this paper identifies and addresses three such challenges. First, compiling around advice efficiently is particularly challenging. We provide ...

متن کامل

Instrumenting Android and Java Applications as Easy as abc

Program instrumentation is a widely used mechanism in different software engineering areas. It can be used for creating profilers and debuggers, for detecting programming errors at runtime, or for securing programs through inline reference monitoring. This paper presents a tutorial on instrumenting Android applications using Soot and the AspectBench compiler (abc). We show how two wellknown mon...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2004