| Harald Vogt, Doaitse Swierstra, and Matthijs Kuiper. Efficient incremental evaluation of higher order attribute grammars. In J. Maluszynki and M. Wirsing, editors, Programming Language Implementation and Logic Programming, volume 528 of LNCS, pages 231--242. Springer-Verlag, 1991. |
....techniques make use of the relation between attribute grammars and functional languages by implementing an attribute grammar as a functional program and use sophisticated transformation techniques for incremental evaluation. See for instance work by Pennings, Swierstra, Vogt and Kuiper [PSV92, VSK90, Vog93] In most programming environments derived from attribute grammars, however, incremental attribute evaluation is based on annotating the abstract syntax tree of a program with attributes in which semantic values can be stored. When the program is edited, subtrees in the abstract syntax ....
....of its views. 5.8. 2 Higher order attribute grammars Higher order attribute grammars (HAGs) have been designed to remove the separation between the syntax description and the semantic description in attribute grammars [VSK89, TC90] In implementing higher order attribute grammars, Vogt et al. VSK90, Vog93] used, as we did, the principle of applying incremental methods for operations on programs and their substructures to operations on attributes. In describing a symbol table by means of grammar rules with attributes for lookup values, an incremental implementation of the lookup function is ....
[Article contains additional citation context not shown here]
H.H. Vogt, S.D. Swierstra, and M.F. Kuiper. On the efficient incremental evaluation of higher order attribute grammars. Technical Report CS-90-36, Utrecht University, Utrecht, 1990.
....and the bookkeeping overhead remain O(jAFFECTEDj) The topological ordering required to assure optimal time evaluation is implicit in the statically computed evaluation schedule. Since dependency graphs need not be maintained at runtime, overhead is greatly reduced. Vogt, Swierstra, and Kuiper [75] have investigated incremental attribution of OAGs in a functional setting. In this case, an AST cannot be modified, but new trees may be created that share most of their structure with an existing one. The role of incrementality is then to attribute the new tree efficiently by reusing the ....
....synthesized attributes. Non temporary attributes are awkward to handle in a functional context, requiring that they be collected in a temporary tree structure called a binding which is then passed as an argument to subsequent visits as if it were an additional inherited attribute. See Vogt et al. [75] for details. Performing a subtree replacement requires that all nodes on the path from the edit site to the root be created afresh, precluding optimal time performance. 5.3 Multiple Subtree Replacements In practice, the restriction to a single subtree replacement is inadequate. Language based ....
[Article contains additional citation context not shown here]
Harald Vogt, Doaitse Swierstra, and Mattijs Kuiper. Efficient incremental evaluation of higherorder attribute grammars. In J. Ma/luszy'nski and M. Wirsing, editors, Proceedings of PLILP '91, volume 528 of Lecture Notes in Computer Science, pages 231--242. Springer-Verlag, 1991.
....of variables. Changing a variable declaration then causes a change in the symbol table which triggers an incremental update of its views. Higher order attribute grammars have been designed to remove the separation between the syntax description and the semantic description in attribute grammars [VSK90, TC90]. In implementing higher order attribute grammars, Vogt et.al. VSK90] have been using the principle of applying incremental methods for operations on programs and their substructures to operations on attributes, as well. By describing a symbol table by means of grammar rules with attributes for ....
....symbol table which triggers an incremental update of its views. Higher order attribute grammars have been designed to remove the separation between the syntax description and the semantic description in attribute grammars [VSK90, TC90] In implementing higher order attribute grammars, Vogt et.al. [VSK90] have been using the principle of applying incremental methods for operations on programs and their substructures to operations on attributes, as well. By describing a symbol table by means of grammar rules with attributes for lookup values, their approach yields an incremental implementation of ....
H.H. Vogt, S.D. Swierstra, and M.F. Kuiper. On the efficient incremental evaluation of higher order attribute grammars. Technical Report CS-90-36, Utrecht University, Utrecht, 1990. 16
....or rewriting system. Recent extensions of attribute grammars, namely attribute coupled grammars[GG84, Gie88] and higherorder attribute grammars[VSK89, SV91, Vog93] have figured prominently in the realisation of program transformation systems. An incremental version of the latter is available[VSK91] To date, several important programming environment generators are available or under construction. Centaur and GIPE[Kli89] apply term rewriting for program transformation, and support incremental and lazy techniques. The Synthesizer Generator[TR89] is based on incremental attribute evaluation. ....
H.H. Vogt, S.D. Swierstra, and M.F. Kuiper. Efficient incremental evaluation of higher order attribute grammars. In Procs. International Symposium on Programming Language Implementation and Logic Programming, Passau, 1991.
....grammars into this class of circular programs. Those acquainted with catamorphisms will furthermore recognise a catamorphims which returns a higher order type in the above program [MFP91] In recent years we have been interested in the incremental evaluation of (higher order) attribute grammars [VSK91, SV91, PSV92, Pen94]. The main aspect of the method being used is that attribute grammars are transformed into large sets of mutually recursive strict functions, the calls to which are being cached in order to avoid unnecessary reevaluations. The fact that the arguments to these functions can be evaluated before the ....
Harald Vogt, Doaitse Swierstra, and Matthijs Kuiper. Efficient incremental evaluation of higher order attribute grammars. In J. Maluszynki and M. Wirsing, editors, Programming Language Implementation and Logic Programming, volume 528 of LNCS, pages 231--242. Springer-Verlag, 1991.
....Higher Order AGs [Vogt, Swierstra and Kuiper 89] The adapted evaluator, however, attributes each instance of equal NTAs separately. This leads to nonoptimal incremental behaviour after a change to a NTA, as can be seen in the recently published algorithm of [TC90] Our evaluation algorithm [Vogt, Swierstra and Kuiper 91] handles multiple occurrences of the same NTA (and the same subtree) efficiently in O(IAiectedl Ipaths to rootsl) steps, where paths to roots is the sum of the lengths of all paths from the root to modified subtrees. The new incremental evaluator can be used for language based editors like ....
Vogt, H.H., S.D. Swierstra and M.F. Kuiper. Efficient incre- mental evaluation of higher order attribute grammars. In the proceedings of the Interna- tional Symposium on Programming Language Implementation and Logic Programming, Passau (FRG), August 26-28, (To Appear), 1991.
....grammars into this class of circular programs. Those acquainted with catamorphisms will furthermore recognise a catamorphims which returns a higher order type in the above program [MFP91] In recent years we have been interested in the incremental evaluation of (higher order) attribute grammars [VSK91, SV91, PSV92, Pen94]. The main aspect of the method being used is that attribute grammars are transformed into large sets of mutually recursive strict functions, the calls to which are being cached in order to avoid unnecessary reevaluations. The fact that the arguments to these functions can be evaluated before the ....
Harald Vogt, Doaitse Swierstra, and Matthijs Kuiper. Efficient incremental evaluation of higher order attribute grammars. In J. Maluszynki and M. Wirsing, editors, Programming Language Implementation and Logic Programming, volume 528 of LNCS, pages 231--242. Springer-Verlag, 1991.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC