TY - JOUR
T1 - Aspects as modular language extensions
AU - Van Wyk, Eric
N1 - Copyright:
Copyright 2008 Elsevier B.V., All rights reserved.
PY - 2003/12
Y1 - 2003/12
N2 - 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.
AB - 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.
UR - http://www.scopus.com/inward/record.url?scp=19044365707&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=19044365707&partnerID=8YFLogxK
U2 - 10.1016/S1571-0661(05)82628-3
DO - 10.1016/S1571-0661(05)82628-3
M3 - Conference article
AN - SCOPUS:19044365707
SN - 1571-0661
VL - 82
SP - 555
EP - 574
JO - Electronic Notes in Theoretical Computer Science
JF - Electronic Notes in Theoretical Computer Science
IS - 3
T2 - LDTA'2003 - Language Descriptions, Tools and Applications
Y2 - 12 April 2003 through 13 April 2003
ER -