An Object-Oriented Approach to C++ Compiler Technology

This paper focuses on the use of object-oriented approaches to syntactical and semantical analysis for complex object-oriented languages like C++. We are interested in these issues both from a design and implementation point of view. We implement a semantic analyzer in an object-oriented manner, using the C++ programming language. We base our approach on design patterns in order to improve the flexibility of the implementation. The purpose of this research is twofold. First, we are interested whether the object-oriented approach to compiler technology (as a possible alternative to attribute grammars) really produces more modular, concise and reusable code in terms of building blocks or control structures for generating analyzers for a possibly larger class of object-oriented languages. Second, we are interested in the design of the analyzer internal structure to support further development and research in the area of high-level optimizations related to incremental compilation techniques.