# PIM - A complete transformational toolkit for compilers

## Jan Heering

(CWI, Amsterdam)

PIM is a "transformational toolkit" to be used by compilers and analysis tools for imperative languages, and has been applied to such problems as program slicing, symbolic evaluation, conditional constant propagation, and dependence analysis. PIM consists of the untyped lambda calculus extended with a first-order rewrite system that characterizes the behavior of lazy stores and generalized conditionals. We systematically derive a complete equational axiomatization of the lazy store component of PIM as the culmination of a sequence of increasingly powerful equational systems starting from a straightforward "interpreter" for closed terms.

This is joint work with Jan Bergstra (University of Amsterdam), T.B. Dinesh (CWI, Amsterdam), and John Field (IBM T.J. Watson Research Center).

**Wednesday 24th January 1996, 14:30**

Seminar Room 322

Department of Computer Science