Personal tools
You are here: Home Members Oege de Moor Publications Aspect-oriented compilers
Document Actions

Aspect-oriented compilers

In: Ulrich Eisenecker and Krzysztof Czarnecki, 1st International Symposium on Generative and Component-based Software Engineering (GCSE), Erfurt, Germany. Lecture Notes in Computer Science 1799, pp. 121-133, 1999.

Authors: Oege de Moor, Simon Peyton-Jones and Eric van Wyk
>

Abstract

Lazy evaluation allows compiler writers to ignore a separation into passes, and to focus on the logical structure of their compiler instead. This is also a feature of attribute grammars, which can be viewed as a particular style of lazy functional program. Compilers written in attribute grammar style are typically structured by production --- it is hard to structure them by semantic aspect, such as `environment' and `lexical level', and it is certainly not possible to view these aspects as separate units of compilation.

In this paper we propose a technique for making compiler `aspects' first-class objects, that can be stored, manipulated and combined. We propose a modest set of combinators that achieve this task in Haskell. The combinator library is an application of recent work on polymorphic type systems for record operations, in particular that of Gaster and Jones, and also of a technique due to Remy, which types symmetric record concatenation `for free'.

(PS)

BIBTEX:

           @inproceedings{gcse99moor, 
           author = "De Moor, Oege and Peyton-Jones, Simon and Van Wyk, Eric",
           title = "Aspect-oriented Compilers", 
           booktitle = "Generative and Component-Based Software Engineering", 
           editor = "Ulrich Eisenecker and Krzysztof Czarnecki", 
           series = "Springer Lecture Notes in Computer Science",
           volume = "1799",
           pages = "121-133",
           year = "1999"} 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: