High-level tools for language implementation
Abstract TOOLS is a language implementation system based on the integration of context-free grammars and class-based programming. The main goal of TOOLS has been to explore unified mechanisms for different aspects of language implementations. To this end, the TOOLS specification language has been geared toward object-oriented languages so that various natural entities in the source text can be viewed as instances of object classes. Consequently, data structures like symbol tables, activation records, and intermediate code can be conveniently represented as collections of objects, and activities like passes and program execution can be represented as collective activations of objects. Experiments have shown that relatively efficient implementations can be produced in a short time using TOOLS.