University of Minnesota
Software Engineering Center

You are here

Specification languages in algebraic compilers

Date of Publication: 
January 2003
Associated Research Groups: 
Publication Files: 
Algebraic compilers provide a powerful and convenient mechanism for specifying language translators. With each source language operation one associates a computation for constructing its target language image; these associated computations, called derived operations, are expressed in terms of operations from the target language. Sometimes the target language is not powerful enough to specify the required translation and one may then need to extend the target language algebras with more computationally expressive operations or elements. A better solution is to package these extensions in a specification language which can be composed with the target language to ensure that all operations and elements needed or desired for performing the translation are provided. In the example in this paper, we show how imperative and functional specification languages can be composed with a target language to implement a temporal logic model checker as an algebraic compiler and show how specification languages can be seen as components to be combined with a source and target language to generate an algebraic compiler.
Theoretical Computer Science, 231(3):351--385
@article{vanwyk03a, author = "Van Wyk, E.", title = "Specification Languages in Algebraic Compilers", journal = "Theoretical Computer Science", volume = 231, number = 3, pages = "351--385", year = 2003, month = "January", }