On the Incremental Evaluation of Higher-Order Attribute Grammars

Jeroen Bransen

promotor: prof.dr. S.D. Swierstra (UU)
copromotor: dr. A. Dijkstra (UU)
Universiteit Utrecht
Date: 30 June, 2015, 16.15
Thesis: PDF

Summary

Compilers, amongst other programs, often work with data that (slowly) changes over time. When the changes between subsequent runs of the compiler are small, one would hope the compiler to incrementally update its results, resulting in much lower running time. However, the manual construction of an incremental compiler is very hard and error prone and therefore usually not an option.

Attribute grammars provide an attractive way of constructing compilers, as they are compositional in nature and allow for aspect oriented programming. This thesis describes the automatic generation of incremental attribute grammar evaluators, with the purpose of (semi-)automatically generating an incremental compiler from the regular attribute grammar definition. In particular this approach supports incremental evaluation of higher order attributes, a well known extension to the classical attribute grammars that is used in many ways
in compiler construction, for example to model different compiler phases.