Author: Sten Minör
Publisher:
ISBN:
Category :
Languages : en
Pages : 27
Book Description
Structures for Incremental Semantic Analysis in the III Programming Environment
Incremental Static Semantic Analysis
Author: William Harry Maddox
Publisher:
ISBN:
Category : Computer programming
Languages : en
Pages : 470
Book Description
Abstract: "Language-based programming environments provide some or all of the functionality of a compiler, an interactive debugger, a browser, and a configuration manager behind a unified user interface based on an editing paradigm. As the user edits a program, the changes are processed incrementally, allowing for low-latency updates to derived information. This information can be made available to interactive environment services, such as browsing, navigation, and 'real-time' error-reporting. In this dissertation, we address an important subproblem in the construction of such environments, the generation of static semantic analyzers that operate in an incremental mode. Our work is embodied in the Colander II system, which introduces both a new metalanguage for the declarative specification of static semantic analyses and new techniques for generating an incremental analyzer from these specifications automatically. Our specification metalanguage melds the advantages of traditional attribute grammars, including amenability to extensive generation-time analysis, with the expressiveness and client-independence characteristic of Ballance's Logical Constraint Grammars. In comparison to traditional attribute grammars, our metalanguage allows much more of the incrementality inherent in a particular analysis task to be exposed within the formalism itself, where it can be exploited automatically by our implementation. Our incremental analysis algorithms exploit the attributed objects and function-valued attributes provided by our metalanguage, mapping these expressive notations onto a fine-grained incremental implementation. We are thus able to automatically generate incremental analyzers that handle long-distance dependencies and aggregate attributes efficiently. Our methods allow unusual freedom to control the granularity of incremental evaluation, allowing performance tradeoffs to be chosen as demanded by the needs of the application rather than as dictated by the a priori requirements of the algorithms. We have also developed a static analysis and transformation on attribute grammars that accomodates a useful class of circular attribute dependencies, automating the 'backpatching' method used in hand-coded compilers. The transformation is employed in Colander II, but is applicable to attribute grammars in general. We have used the Colander II system to create a static semantic analyzer for the programming language Modula-2, which has revealed both strengths and weakness in our specification paradigm. Interestingly, the most significant difficulty that we encountered applies equally to traditional attribute grammars, but has not been widely appreciated in the attribute grammar literature. Our work was performed in the context of the Ensemble project at UC Berkeley, which is constructing a prototype integrated multilingual language-based software development environment based on the editing of structured multimedia documents."
Publisher:
ISBN:
Category : Computer programming
Languages : en
Pages : 470
Book Description
Abstract: "Language-based programming environments provide some or all of the functionality of a compiler, an interactive debugger, a browser, and a configuration manager behind a unified user interface based on an editing paradigm. As the user edits a program, the changes are processed incrementally, allowing for low-latency updates to derived information. This information can be made available to interactive environment services, such as browsing, navigation, and 'real-time' error-reporting. In this dissertation, we address an important subproblem in the construction of such environments, the generation of static semantic analyzers that operate in an incremental mode. Our work is embodied in the Colander II system, which introduces both a new metalanguage for the declarative specification of static semantic analyses and new techniques for generating an incremental analyzer from these specifications automatically. Our specification metalanguage melds the advantages of traditional attribute grammars, including amenability to extensive generation-time analysis, with the expressiveness and client-independence characteristic of Ballance's Logical Constraint Grammars. In comparison to traditional attribute grammars, our metalanguage allows much more of the incrementality inherent in a particular analysis task to be exposed within the formalism itself, where it can be exploited automatically by our implementation. Our incremental analysis algorithms exploit the attributed objects and function-valued attributes provided by our metalanguage, mapping these expressive notations onto a fine-grained incremental implementation. We are thus able to automatically generate incremental analyzers that handle long-distance dependencies and aggregate attributes efficiently. Our methods allow unusual freedom to control the granularity of incremental evaluation, allowing performance tradeoffs to be chosen as demanded by the needs of the application rather than as dictated by the a priori requirements of the algorithms. We have also developed a static analysis and transformation on attribute grammars that accomodates a useful class of circular attribute dependencies, automating the 'backpatching' method used in hand-coded compilers. The transformation is employed in Colander II, but is applicable to attribute grammars in general. We have used the Colander II system to create a static semantic analyzer for the programming language Modula-2, which has revealed both strengths and weakness in our specification paradigm. Interestingly, the most significant difficulty that we encountered applies equally to traditional attribute grammars, but has not been widely appreciated in the attribute grammar literature. Our work was performed in the context of the Ensemble project at UC Berkeley, which is constructing a prototype integrated multilingual language-based software development environment based on the editing of structured multimedia documents."
Generating Language-Based Environments
Author: Thomas W. Reps
Publisher: Mit Press
ISBN: 9780262681469
Category : Computers
Languages : en
Pages : 152
Book Description
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.
Publisher: Mit Press
ISBN: 9780262681469
Category : Computers
Languages : en
Pages : 152
Book Description
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.
Generating Language-based Environments
Author: Thomas William Reps
Publisher: MIT Press (MA)
ISBN: 9780262181150
Category : Computer programming
Languages : en
Pages : 138
Book Description
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.
Publisher: MIT Press (MA)
ISBN: 9780262181150
Category : Computer programming
Languages : en
Pages : 138
Book Description
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.
Practical Algorithms for Incremental Software Development Environments
Author: Tim A. Wagner
Publisher:
ISBN:
Category : Algorithms
Languages : en
Pages : 426
Book Description
Publisher:
ISBN:
Category : Algorithms
Languages : en
Pages : 426
Book Description
Advanced Programming Environments
Author: Reidar Conradi
Publisher: Springer
ISBN:
Category : Computers
Languages : en
Pages : 616
Book Description
Publisher: Springer
ISBN:
Category : Computers
Languages : en
Pages : 616
Book Description
Incremental Semantic Analysis
Author: Görel Hedin
Publisher:
ISBN:
Category : semantik
Languages : en
Pages : 276
Book Description
Publisher:
ISBN:
Category : semantik
Languages : en
Pages : 276
Book Description
Visual Programming Environments
Author: Ephraim P. Glinert
Publisher: Institute of Electrical & Electronics Engineers(IEEE)
ISBN:
Category : Computers
Languages : en
Pages : 710
Book Description
A tutorial in the form of reprints and original contributions arranged in ten sections on iconic interfaces; systems for visualization support; the evolution of BALSA; designing icons; designing successful visual systems; using graphics and text; visual environments and the physically handicapped; f
Publisher: Institute of Electrical & Electronics Engineers(IEEE)
ISBN:
Category : Computers
Languages : en
Pages : 710
Book Description
A tutorial in the form of reprints and original contributions arranged in ten sections on iconic interfaces; systems for visualization support; the evolution of BALSA; designing icons; designing successful visual systems; using graphics and text; visual environments and the physically handicapped; f
Incremental Semantic Analysis in a Language Directed Editor
Language Architectures And Programming Environments
Author: F Baiardi
Publisher: World Scientific
ISBN: 9814505447
Category : Computers
Languages : en
Pages : 299
Book Description
This book contains articles on advanced topics in language architectures and programming environments. The chapters are written by distinctive leaders in their respective research fields. The original articles and reprints are enhanced by the editors' descriptions which are intended to guide the reader. The book will be of immense use to computer science students, computer system architects and designers, and designers of programming environments, requiring a deep and broad knowledge of these fields.
Publisher: World Scientific
ISBN: 9814505447
Category : Computers
Languages : en
Pages : 299
Book Description
This book contains articles on advanced topics in language architectures and programming environments. The chapters are written by distinctive leaders in their respective research fields. The original articles and reprints are enhanced by the editors' descriptions which are intended to guide the reader. The book will be of immense use to computer science students, computer system architects and designers, and designers of programming environments, requiring a deep and broad knowledge of these fields.