Abstract
COINS has been developed as a compiler infrastructure which is used as a base for constructing compilers for various purposes such as research, education, production, and so forth. The salient features of COINS are: (1) two levels of intermediate representation, HIR: High-level Intermediate Representation, and LIR: Low-level Intermediate Representation, (2) entirely written in Java anew, (3) sufficient support for optimization, including an almost full set of SSA optimization, (4) retargetable code generators, (5) basic support for parallelization. It has been developed at more than ten distributed organizations, having developers' meetings once three weeks. The complilers for two languages, C and FORTRAN, and for eight target machines, including SPARC and x86, have been developed in COINS. The performance of their object codes are comparable with those of GCC. COINS is written in about 260KLOC in Java. This paper describes the development aspect as well as technical aspect of this project.