Sunday, January 07, 2007

moving blog

Dear reader of my blog, if you exist. After foolishly renaming the url of my blogger blog to throw off your rss subscription, here is another attempt to make sure I loose you. I have set up camp under the new domain
http://www.eelcovisser.net
where I intend to collect all my personal webmusing, including my photography work. Part of the new site is a serendipity based blog, which you'll find at
http://blog.eelcovisser.net

Saturday, December 30, 2006

Flickr

This is a test post from flickr, a fancy photo sharing thing.

Thursday, October 26, 2006

Declarative, Formal, and Extensible Syntax Definition for AspectJ


coauthors
Originally uploaded by Eelco Visser.
This afternoon Martin Bravenboer presented our OOPSLA'06 paper Declarative, Formal, and Extensible Syntax Definition for AspectJ. The photo shows the coauthors just before the presentation.

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 that the performance of scannerless generalized-LR parsing for this grammar is comparable to the parser of abc.