In the automatic generation of the compiler, the area requiring further study is the automatic generation of a semantic analyzer. Several methods have been proposed to define the semantics, but a large‐scale description is required. From such a viewpoint, this paper aims at the construction of a compiler‐compiler which can describe the semantics efficiently. A self multiplicating compiler‐compiler (SMCC) was developed by the bootstrap technique used in the development of a new language. SMCC utilizes LL(1) grammar for the syntax analysis and attribute grammar for the semantic analysis. Not only the compiler, but also the SMCC itself can be described. Consequently, the SMCC can successively be extended and an efficient and complex compiler‐compiler can be generated much simpler than by the manual procedure. SMCC is described entirely by C language, and translates the definitions for the compiler or compiler‐compiler into C language. This paper describes the compiler‐compiler SMCC1 which is constructed manually and serves as the initial kernel, and SMCC2 and SMCC3, which are the result of extensions by SMCC1, together with their evaluations.
ASJC Scopus subject areas
- Theoretical Computer Science
- Information Systems
- Hardware and Architecture
- Computational Theory and Mathematics