University of Minnesota
Software Engineering Center

You are here

Aspects as Modular Language Extensions

Date of Publication: 
April 2003
Associated Research Groups: 
Extensible programming languages and their compilers use highly modular specifications of languages and language extensions that allow a variety of different language feature sets to be easily imported into the programming environment by the programmer. Our model of extensible languages is based on higher-order attribute grammars and an extension called ``forwarding'' that mimics a simple rewriting process. It is designed so that no additional attribute definitions need to be written when combining a language with language extensions. Thus, programmers can remain unaware of the underlying attribute grammars when building customized languages by importing various extensions. In this paper we show how aspects and the aspect weaving process from Aspect-Oriented Programming can be specified as a modular language extension and imported into a base language specified in an extensible programming language framework.
In Proc. of Language Descriptions, Tools and Applications (LDTA), (an ETAPS 2003 Workshop) volume 82.3 of Electronic Notes in Theoretical Computer Science. Elsevier Science
@inproceedings{vanwyk03b, author = "Van Wyk, E.", title = "Aspects as Modular Language Extensions", booktitle = "Proc. of Language Descriptions, Tools and Applications (LDTA)", publisher = "Elsevier Science", series = "Electronic Notes in Theoretical Computer Science", volume = "82.3", year = 2003 }