Muutke küpsiste eelistusi

Synthesizer Generator: A System for Constructing Language-Based Editors Softcover reprint of the original 1st ed. 1989 [Pehme köide]

  • Formaat: Paperback / softback, 317 pages, kõrgus x laius: 235x155 mm, kaal: 511 g, XIII, 317 p., 1 Paperback / softback
  • Sari: Monographs in Computer Science
  • Ilmumisaeg: 14-Dec-2011
  • Kirjastus: Springer-Verlag New York Inc.
  • ISBN-10: 1461396255
  • ISBN-13: 9781461396253
Teised raamatud teemal:
  • Pehme köide
  • Hind: 76,45 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Tavahind: 89,95 €
  • Säästad 15%
  • Raamatu kohalejõudmiseks kirjastusest kulub orienteeruvalt 2-4 nädalat
  • Kogus:
  • Lisa ostukorvi
  • Tasuta tarne
  • Tellimisaeg 2-4 nädalat
  • Lisa soovinimekirja
  • Formaat: Paperback / softback, 317 pages, kõrgus x laius: 235x155 mm, kaal: 511 g, XIII, 317 p., 1 Paperback / softback
  • Sari: Monographs in Computer Science
  • Ilmumisaeg: 14-Dec-2011
  • Kirjastus: Springer-Verlag New York Inc.
  • ISBN-10: 1461396255
  • ISBN-13: 9781461396253
Teised raamatud teemal:
The Synthesizer Generator: A System for Constructing Language-Based Editors presents a detailed account of the Synthesizer Generator, 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 is also intended for readers with an interest in software tools and methods for building interactive systems. More than just a user guide for the system, the book contains a wealth of material for those building specialized editors "by hand", without using an editor-generating tool; it discusses the issues that motivated the decisions made in the design of the system, as well as a number of the algorithms used in the system's implementation.

Muu info

Springer Book Archives
1 Introduction.- 1.1 Using Structure Editing to Ensure that Programs Are
Syntactically Correct.- 1.2 Using Immediate Computation to Locate Errors in
Programs.- 1.3 Using Incremental Code Generation to Support Program Testing.-
1.4 Supporting Program-Development Methodologies.- 1.5 The Need for
Incremental Algorithms.- 1.6 Adapting Specifications for Immediate
Computation.- 1.7 Generating Language-Based Programming Environments.- 1.8
The Synthesizer Generator.- 2 Demonstration of a Sample Editor.- 3 The
Attribute-Grammar Model of Editing.- 4 Specification of a Sample Editor.- 4.1
Abstract Syntax.- 4.2 Attributes and Attribute Equations.- 4.3 Unparsing
Schemes.- 4.4 Input Interfaces.- 4.5 Templates and Transformations.- 5 Lists,
Optional Elements, and Placeholders.- 5.1 Transient Placeholders.- 5.2
Specifying Lists and Optional Elements in SSL.- 5.3 Sublist Manipulations.-
5.4 Selections of Singleton Sublists Versus Selections of List Elements.- 5.5
Parsing Lists.- 5.6 Attribution Rules for a Lists Completing Term and
Placeholder Term.- 6 Defining Hybrid Editors with the Synthesizer Generator.-
6.1 Defining a Languages Underlying Abstract Syntax.- 6.2 Integration of
Text Editing and Structure Editing.- 6.3 Defining Computed Display
Representations.- 6.4 Context-Sensitive Translations and Transformations.- 7
Performing Static Inferences with Attributes.- 7.1 Aggregation and
Information-Passing Strategies.- 7.2 Using the Attribution Mechanism to
Perform Type Inference.- 8 Practical Advice.- 8.1 How to Begin Developing an
Editor.- 8.2 Modular Construction of Editor Specifications.- 8.3 Problems
That Frequently Arise.- 9 Generating Code Using Attributes.- 9.1 Approaches
to Incremental Recompilation.- 9.2 Incremental Recompilation Using
Attributes.- 10 InteractiveProgram Verification.- 10.1 An Introductory
Example.- 10.2 Generating Verification Conditions.- 10.3 Checking Proofs of
Verification Conditions.- 10.4 Automatic Deductive Capabilities.- 11 The
Implementation.- 11.1 Basic Organization of the Implementation.- 11.2
Finiteness of Completing Terms.- 11.3 Generating Copy Rules for Upward Remote
Attribute Sets.- 11.4 Deferred Reference Counting.- 12 Incremental Attribute
Evaluation for Ordered Attribute Grammars.- 12.1 Greedy Evaluation.- 12.2
Distributed-Control Evaluation.- 12.3 Evaluation of Ordered Attribute
Grammars by Visit-Sequence Evaluators.- 12.4 Construction of a Visit-Sequence
Evaluator.- 12.5 Incremental Updating by Visit-Sequence-Driven Change
Propagation.- 12.6 Optimizations for One-to-One Functions.- 12.7 What to Do
When a Grammar Fails the Orderedness Test.- Appendix A Syntax of SSL.-
Appendix B Invoking the Synthesizer Generator.- Appendix C Abbreviated List
of Editor Commands.- C.1 Getting Into and Out of an Editor.- C.2 Changing the
Structural Selection by Traversal of the Abstract Syntax Tree.- C.3 Executing
Commands.- C.4 Structural Editing.- C.5 Moving the Object with Respect to the
Window.- C.6 Using the Locator.- C.7 Textual Editing.- C.8 Changing the
Character Selection by Textual Traversal of the Text Buffer.- C.9 Buffers,
Selections, and Files.- C.10 Creating and Deleting Windows.- Appendix D
Keyboards, Displays, Window Systems, and Mice.- D.1 Keyboards.- D.2 Displays
and Window Systems.- D.3 Mice.