@techreport{R-86-38, TITLE = {A Common Intermediate Representation for C, Pascal, Modula-2 and Fortran-77}, AUTHOR = {Peter Fritzson}, YEAR = {1986}, NUMBER = {R-86-38}, INSTITUTION = ida, ADDRESS = idaaddr, ABSTRACTURL = {/publications/cgi-bin/tr-fetch.pl?r-86-38+abstr}, 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.}, IDANR = {LiTH-IDA-R-86-38}, NOTE = {Also presented at the Workshop on Compiler Compilers and Incremental Compilation, Bautzen, DDR, October 12-17, 1986}