
The Synthesizer Generator Reference Manual
Springer (Publisher)
3rd Edition
Published on 19. December 1988
Book
Paperback/Softback
XI, 171 pages
978-0-387-96910-7 (ISBN)
Description
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.
More details
Series
Edition
Third Edition 1989
Language
English
Place of publication
New York
United States
Target group
Professional and scholarly
Research
Edition type
New edition
Illustrations
XI, 171 p.
Dimensions
Height: 235 mm
Width: 155 mm
Thickness: 11 mm
Weight
295 gr
ISBN-13
978-0-387-96910-7 (9780387969107)
DOI
10.1007/978-1-4613-9633-8
Schweitzer Classification
Other editions
Additional editions

Thomas W. Reps | Tim Teitelbaum
The Synthesizer Generator Reference Manual
E-Book
12/2012
3rd Edition
Springer
€96.29
Available for download
Content
1 Introduction.- 2 Specifying an Editor.- 2.1 Lexical Matters.- 2.2 Phyla, Operators, and Terms.- 2.3 Attribute Declarations and Attribute Equations.- 2.4 Function Declarations.- 2.5 Expressions.- 2.6 View and Unparsing Declarations.- 2.7 Concrete Input Syntax.- 2.8 Transformation Declarations.- 2.9 Support for Modular Specifications.- 2.10 Option Declarations.- 2.11 Quantified Declarations.- 3 Using an Editor.- 3.1 Getting Into and Out of an Editor.- 3.2 Executing Commands and Transformations.- 3.3 Buffers, Selections, and Files.- 3.4 Creating, Deleting, and Resizing Windows and Panes.- 3.5 Entering and Editing an Object.- 3.6 Changing the Structural Selection by Traversal of the Edited Term.- 3.7 Changing the Character Selection by Traversal of the Text Buffer.- 3.8 Moving the Object With Respect to the Window.- 3.9 Moving the Locator on the Screen.- 3.10 Changing the Selection with the Locator.- 3.11 Structural Editing.- 3.12 Textual Editing.- 3.13 Access to Computed Attributes.- 3.14 Searching.- 3.15 Alternating Unparsing Schemes.- 4 The SSL Debugger.- 5 Interface to C.- 5.1 Foreign and Exported Functions.- 5.2 Base-Type and Primitive-Phylum Definitions.- 5.3 External Stores and External Computers.- 5.4 Defining Additional Commands.- 5.4.1 Defining commands that have no parameters.- 5.4.2 Defining commands that have parameters.- Appendix A A Sample Specification.- Appendix B Invoking the Synthesizer Generator.- Appendix C List of Editor Commands.- Appendix D Keyboards, Displays, Window Systems, and Mice.- D.1 Keyboards.- D.2 Displays and Window Systems.- D.3 Mice.- Appendix E Demonstration Editors.- E.1 Simple Tutorial Editors.- E.2 Editors for Programming Languages.- E.3 Document Editor.- E.4 Graphics Editor.- E.5 Pedagogical Editors.- E.6 Logic and Program-Verification Editors.- Appendix F Syntax of SSL.