Incremental Evaluation of Higher Order Attributes
Publication date
2015
Editors
Advisors
Supervisors
Document Type
Part of book
Metadata
Show full item recordCollections
License
Abstract
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 times. 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. In this work we extend previous work on the automatic generation of incremental attribute grammar evaluators, with the purpose of (semi-)automatically generating an incremental compiler from the regular attribute grammar definition, by adding support for 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.
Keywords
attribute grammars, change propagation, incremental evaluation, program transformation, type inference
Citation
Bransen, J, Dijkstra, A & Swierstra, D 2015, Incremental Evaluation of Higher Order Attributes. in PEPM '15: Proceedings of the 2015 Workshop on Partial Evaluation and Program Manipulation. PEPM '15, Association for Computing Machinery, New York, NY, USA, pp. 39-48. https://doi.org/10.1145/2678015.2682541