AspectJ Programming Language and AspectJ Compiler Links [Link]
html
AspectJ Programming Language (AspectJ Language) and AspectJ Compiler Links
Google Search
The AspectJ Programming Language
The AspectJ language provides a seamless extension to Java which introduces aspect-oriented programming (AOP) tecniques into the Java language. When we use the term
AspectJ by itself we mean the programming language AspectJ.
An LALR(1) grammar for the AspectJ Programming Language
The grammar of the AspectJ language can be found (in html, pdf or postscript format): As part of the abc AspectJ compiler project we developed this complete definition of the
lexical structure of the AspectJ programming language, as well as a complete LALR(1) grammar for the AspectJ language.
Getting started with AspectJ - Documents for Free
There are quite a few free resources to help you get started in AspectJ, some are free sample chapters of books and some are documents which come with the abc or ajc AspectJ
compilers. I suggest that you start with:
• Basic Information about the AspectJ Language
◦ AspectJ Quick Reference (click on topmost HEAD link on page)
◦ AspectJ Grammar
◦ AspectJ: syntax basics , Ch 3 - AspectJ in Action.
◦ AspectJ Users Guide:
▪ Suitable for printing (click on topmost download link on page)
▪ Suitable for browsing (click on topmost download link on page)
• AspectJ compilers command-line options:
◦ abc (pdf)
◦ ajc (html)
• Introductory Articles on AOP and AspectJ
◦ Introduction to AOP , Ch1 - Mastering AspectJ
◦ I want my AOP! (Part 1) (Part 2) (Part 3)
◦ A note on the origin of AOP
• Basic Information on using AspectJ in Eclipse
◦ Compiling an AspectJ Project using Eclipse , extract from AspectJ Cookbook.
◦ First Steps in AJDT, Ch 2 - eclipse AspectJ
• Some more advanced topics
◦ Implementing Creational Object-Oriented Design Patterns, Ch 17 - AspectJ Cookbook.
◦ Authentication and authorization , Ch 10 - AspectJ in Action
AspectJ Compilers
There are two compilers for the AspectJ language:
• ajc: The original AspectJ compiler called ajc, originally developed at Xerox Parc, and now developed and supported by the AspectJ Eclipse project.
• abc: There is also a brand new compiler for AspectJ, developed independently of ajc, called abc which has been designed and implemented by the abc group
([Link] a joint effort between members of the Programming Tools Group at Oxford University and the Sable Research Group McGill University, plus a
member of the group from BRICS (University of Aarhus).
The abc AspectJ compiler supports all the AspectJ programming language. In addition, it has also been designed to be extensible, so researchers can add their own new
aspect-oriented features. Furthermore, the abc AspectJ compiler is an optimizing compiler (i.e. it produces fast code), with both standard and aspect-specific optimizations.
The abc AspectJ compiler is built using Polyglot and Soot.
Polyglot is a compiler frontend framework for building Java language extensions. abc itself is an extension in Polyglot, and researchers can easily extend abc to support new
language features.
Since the abc AspectJ compiler uses the Soot framework as its backend, researchers can also add new analyses and optimizations quite easily.
AspectJ Books
Although AspectJ is a relatively new programming language, there are already some books on the topic. Please let me know if you know of other books to add to this list.
• AspectJ in Action: Practical Aspect-Oriented Programming , by Ramnivas Laddad.
• AspectJ Cookbook , by Russell Miles.
• Mastering AspectJ: Aspect-Oriented Programming in Java , by Joseph D. Gradecki and Nicholas Lesiecki.
• eclipse AspectJ , by Adrian Colyer, Andy Clement, George Harley and Matthew Webster.
Maintained by Laurie J. Hendren. Last modified Tue Mar 8 [Link] EST 2005. [HOME]
1/1 2022/10/11 16:28