An abstract intermediate representation in compilation systems

Dai Guilan,Tian Jinlan,Zhang Suqing,Jiang Weidu
DOI: https://doi.org/10.1145/772970.772972
2003-01-01
Abstract:The design of an intermediate representation is critical to the portability of a compiler and the efficiency of code generation. In order to increase the reusability of compiler components, and to simplify the development process of compilers, the paper presents an abstract intermediate representation (AIR) that provides a concise notation for describing the abstract syntax of programming languages and the inner data structures of compilers. AIR integrates algebraic data types into the object-oriented paradigm and thus makes it have stronger expressive power, flexibility, and extensibility. AIR separates the abstract descriptions from the concrete implementation. This makes it easier to be implemented in different high-level languages and thus improves the interoperatibility of compiler components.
What problem does this paper attempt to address?