The Synthesizer Generator Reference Manual - Thomas W. Reps, Tim Teitelbaum

The Synthesizer Generator Reference Manual

Buch | Softcover
171 Seiten
1988 | 3rd ed. 1989
Springer-Verlag New York Inc.
978-0-387-96910-7 (ISBN)
106,99 inkl. MwSt
The Synthesizer Generator is a system for automating the implementation of language-based editing environments. 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.
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.

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.

Reihe/Serie Monographs in Computer Science
Zusatzinfo XI, 171 p.
Verlagsort New York, NY
Sprache englisch
Maße 155 x 235 mm
Themenwelt Mathematik / Informatik Informatik Programmiersprachen / -werkzeuge
Mathematik / Informatik Informatik Software Entwicklung
Informatik Theorie / Studium Compilerbau
ISBN-10 0-387-96910-1 / 0387969101
ISBN-13 978-0-387-96910-7 / 9780387969107
Zustand Neuware
Haben Sie eine Frage zum Produkt?
Mehr entdecken
aus dem Bereich
Grundlagen und Anwendungen

von Hanspeter Mössenböck

Buch | Softcover (2024)
dpunkt (Verlag)
29,90
a beginner's guide to learning llvm compiler tools and core …

von Kai Nacke

Buch | Softcover (2024)
Packt Publishing Limited (Verlag)
49,85