We present a method of specifying standard imperative program optimisations as a rewrite system. To achieve this we have extended the idea of matching sub-terms in expressions with simple patterns to matching blocks in a control flow graph. In order to express the complex restrictions on the applicability of these rewrites we add temporal logic side conditions. The combination of these features allows a flexible, high level, yet executable specification of many of the transformations found in optimising compilers.
CITATION STYLE
Lacey, D., & De Moor, O. (2001). Imperative program transformation by rewriting. In Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) (Vol. 2027, pp. 52–68). Springer Verlag. https://doi.org/10.1007/3-540-45306-7_5
Mendeley helps you to discover research relevant for your work.