The syntax of the object-based language INSEL is derivated from abstract and formal concepts developed in a language-based and top-down oriented approach to construct distributed systems. The concepts of INSEL serve as the starting point for all resource management steps required to transform the source code into an efficient running system. A language-based approach allows to tailor the resource management system to the language concepts. This in turn allows to automatically exploit application specific properties based on the language concepts and therefore improves efficiency. Obviously, the success of such an approach highly depends on the abilities of the compiler to extract language-level properties and exploit the analyzed information to transform source code into an efficient target representation. In contrast to comparable projects and due to experiences with prototypes, the INSEL compiler gic does not use an existing high-level language such as C as an intermediate language but interfaces with a modified version of the well-known GNU C compiler gcc . This report describes the architecture of the compiler and provides important information on the interfaces of gcc . Syntax processing and most parts of semantic checking is accomplished by a well structured INSEL front-end. The internal representations `RTL' and `trees' of the GNU C compiler are used to transform abstract INSEL syntax trees in a structured and flexible way into the target representation. This strategy allows the construction of a fast, portable and optimizing compiler, provides reusability of existing tools such as debuggers and allows for the flexibility needed in our research project without the necessity to reinvent and re-implement existing and successful techniques.
«