Declarative, formal, and extensible syntax definition for AspectJ - A case for scannerless generalized-LR parsing

Bravenboer, M; Tanter É.; Visser, E

Abstract

Aspect-Oriented Programming (AOP) is attracting attention from both research and industry, as illustrated by the ever-growing popularity of AspectJ, the de facto standard AOP extension of Java. From a compiler construction perspective, AspectJ is interesting as it is a typical example of a compositional language, i.e. a language composed of a number of separate languages with different syntactical styles: in addition to plain Java, AspectJ includes a language for defining pointcuts and one for defining advices. Language composition represents a non-trivial challenge for conventional parsing techniques. First, combining several languages with different lexical syntax leads to considerable complexity in the lexical states to be processed. Second, as new language features for AOP are being explored, many research proposals are concerned with further extending the AspectJ language, resulting in a need for an extensible syntax definition. This paper shows how scannerless parsing elegantly addresses the issues encountered by conventional techniques when parsing AspectJ. We present the design of a modular, extensible, and formal definition of the lexical and context-free aspects of the AspectJ syntax in the Syntax Definition Formalism SDF, which is implemented by a scannerless, generalized-LR parser (SGLR). We introduce grammar mixins as a novel application of SDF's modularity features, which allows the declarative definition of different keyword policies and combination of extensions. We illustrate the modular extensibility of our definition with syntax extensions taken from current research on aspect languages. Finally, benchmarks show the reasonable performance of scannerless generalized-LR parsing for this grammar. Copyright © 2006 ACM.

Más información

Título según WOS: Declarative, formal, and extensible syntax definition for AspectJ - A case for scannerless generalized-LR parsing
Título según SCOPUS: Declarative, formal, and extensible syntax definition for AspectJ a case for scannerless generalized-LR parsing
Título de la Revista: ACM SIGPLAN NOTICES
Volumen: 41
Número: 10
Editorial: ASSOC COMPUTING MACHINERY
Fecha de publicación: 2006
Página de inicio: 209
Página final: 228
Idioma: English
URL: http://portal.acm.org/citation.cfm?doid=1167515.1167491
DOI:

10.1145/1167515.1167491

Notas: ISI, SCOPUS