Fritzson, P. (1986). A Common Intermediate Representation for C, Pascal, Modula-2 and Fortran-77. Technical Report LiTH-IDA-R-86-38, Department of Computer and Information Science, Linköping University, Sweden. Also presented at the Workshop on Compiler Compilers and Incremental Compilation, Bautzen, DDR, October 12-17, 1986. (bibtex),
Abstract: This paper reports on a unified abstract syntax tree representation, called CIR, which is a program representation for a multi-language environment. The languages in question are C, Pascal, Modula-2 and Fortran-77. Nodes in this intermediate representation usually correspond to syntactic constructs in these languages. It is also possible to reconstruct source text from the CIR representation.It proved possible to achieve a fairly high degree of uniformity in the intermediate representation for the expression and statement parts of these languages. However, the declaration structure proved to be much more irregular, especially for C and Fortran-77. Also, some statistics on different node classes is presented for the languages involved, and a comparison to Diana is done.
CS Dept TR Overview