Scheduled System Maintenance
On Saturday, October 21, single article sales and account management will be unavailable until 6 PM ET.
Notice: There is currently an issue with the citation download feature. Learn more.

Generating Language-Based Environments

Cover Image Copyright Year: 2004
Author(s): Thomas W. Reps
Publisher: MIT Press
Content Type : Books & eBooks
Topics: Computing & Processing
  • Print

Abstract

This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time.

  •   Click to expandTable of Contents

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Front Matter

      Page(s): i - xiv
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Half Title, ACM Doctoral Dissertation Awards, Title, Copyright, Series Foreword, Preface, Acknowledgments, Contents, Dedication View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Introduction

      Page(s): 1 - 5
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: The software development problem, The Synthesizer Generator, An overview of the dissertation View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Providing better programming environments

      Page(s): 6 - 16
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Language-based programming environments, Integrated program-development tools, Generating language-based editors View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Attribute grammars and attribute evaluation

      Page(s): 17 - 28
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Attribute grammars, Specifying languages with attribute grammars, Attribute evaluation View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Incremental attribute evaluation

      Page(s): 29 - 37
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: A simple model of editing, Change propagation, Two-phase incremental evaluation, Discussion View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Optimal-time change propagation

      Page(s): 38 - 48
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Topological evaluation, Getting started, The updating process, An optimal-time change-propagation algorithm, An optimal-time change-propagation algorithm, Correcting a shortcoming, Summary View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Extending the model of editing

      Page(s): 49 - 53
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Demand attributes, Operations other than subtree replacement View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Space-efficient attribute evaluation

      Page(s): 54 - 80
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Motivation, An evaluation algorithm that saves at most O (√n) values, An evaluation algorithm that saves at most O(log n) values View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Efficient representations of large attributes

      Page(s): 81 - 87
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Sharing common substructures, Rapid testing of equality, Discussion View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Incremental evaluation for restricted classes of attribute grammars

      Page(s): 88 - 106
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Incremental evaluation for two simple classes, Incremental evaluation for absolutely noncircular attribute grammars, Incremental evaluation for ordered attribute grammars View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      88-106

      Page(s): 107 - 110
      Copyright Year: 2004

      MIT Press eBook Chapters

      This chapter contains sections titled: Summary of major results, Future work View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      The Synthesizer Generator Reference Manual

      Page(s): 111 - 126
      Copyright Year: 2004

      MIT Press eBook Chapters

      This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time. View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      The Running Time of Algorithm 7.8

      Page(s): 127 - 128
      Copyright Year: 2004

      MIT Press eBook Chapters

      This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time. View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Bibliography

      Page(s): 129 - 134
      Copyright Year: 2004

      MIT Press eBook Chapters

      This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time. View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Index of Symbols

      Page(s): 135
      Copyright Year: 2004

      MIT Press eBook Chapters

      This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time. View full abstract»

    • Full text access may be available. Click article title to sign in or learn about subscription options.

      Index of Definitions

      Page(s): 137 - 138
      Copyright Year: 2004

      MIT Press eBook Chapters

      This book addresses a fundamental software engineering issue, applying formal techniques and rigorous analysis to a practical problem of great current interest: the incorporation of language-specific knowledge in interactive programming environments. It makes a basic contribution in this area by proposing an attribute-grammar framework for incremental semantic analysis and establishing its algorithmic foundations. The results are theoretically important while having immediate practical utility for implementing environment-generating systems.The book's principal technical results include: an optimal-time algorithm to incrementally maintain a consistent attributed-tree of attribute grammar subclasses, allowing an optimizing environment-generator to select the most efficient applicable algorithm; a general method for sharing storage among attributes whose values are complex data structures; and two algorithms that carry out attribute evaluation while reducing the number of intermediate attribute values retained. While others have worked on this last problem, Reps's algorithms are the first to achieve sublinear worst-case behavior. One algorithm is optimal, achieving the log n lower space bound in nonlinear time, while the second algorithm uses as much as root n. space but runs in linear time. View full abstract»