
The Synthesizer Generator Reference Manual
PAYBACK Punkte
39 °P sammeln!
The Synthesizer Generator is a system for automating the construction of customized editors for particular languages. The unique feature of the Synthesizer Generator is its use of an immediate-computation paradigm to perform analysis, translation, and error reporting while an object is being edited. With the Synthesizer Generator one can create programming language environments that incrementally parse, type-check, and compile a program as it is interactively developed. The use of the system is not restricted to programming languages; editors for logics, specification languages, and verification languages can be created as well. The specification language of the Synthesizer Generator is based on the attribute-grammar concept, which plays a major role in the way compiler construction is taught today. For this reason, the Synthesizer Generator is ideal for use in course projects and should be of particular interest to those involved in compiler construction. The Synthesizer Generator Reference Manual is the defining document of the Synthesizer Generator system. Written by the Synthesizer Generator's creators, this volume provides complete documentation on all aspects of specifying, generating, debugging, and running editors.
The Synthesizer Generator is a system for automating the implementation of language-based editing environments. The editor designer prepares a specification that includes rules defining a language's context-free abstract syn tax, context-sensitive relationships, display format, and concrete input syntax. From this specification, the Synthesizer Generator creates a display editor for manipulating objects according to these rules [Reps84]. This volume, The Synthesizer Generator Reference Manual, is intended as the defining document of the system. A companion volume, The Synthesizer Gen erator: A System for Constructing Language-Based Editors [Reps88], provides a more tutorial description of the system; it contains numerous examples that illustrate the specification and use of generated editors, as well as chapters that explain important algorithms of the implementation. The Synthesizer Generator is a generalization of our earlier system, the Cor nell Program Synthesizer [Teitelbaum81], which was a programming environ ment for a specific small dialect of PL/I. It featured a display-oriented, syntax directed editor, an incremental compiler, an execution supervisor supporting source-level debugging, and a file system containing syntactically typed pro gram fragments. Whereas PL/I was built into the Cornell Program Synthesizer, the Synthesizer Generator accepts a formal language definition as input. Although originally conceived as a tool for creating Synthesizer-like environments for arbitrary pro gramming languages, the Synthesizer Generator is more broadly useful. Any textual language with a hierarchical phrase structure grammar is a candidate. vi Preface Interactive theorem proving for formal mathematics and logic, for example, has emerged as a particularlysuitable application.