Incremental attribute evaluation: a flexible algorithm for lazy update

This paper introduces a new algorithm for incremental attribute evaluation. The algorithm is lazy: Itevaluates only theattributes that are both affected byachange andthat are directly or indirectly observable by the user. In this way, the wasted work of computing values that are never actually used is avoided. Although the algorithm is not optimal, it performs better than the standard “optimal” algorithm in cases where expensive but optional computations need to be supported. Furthermore, the algorithm does not have some of the limitations of other algorithms. It works for general attributed graphs as well as for standard attributed trees. In addition, it does not presume any special editing model, and it supports multiple change points without loss of efficiency.

[1]  Roger Hoover Incremental Graph Evaluation , 1987 .

[2]  Gregory F. Johnson,et al.  Incremental evaluation for a general class of circular attribute grammars , 1988, PLDI '88.

[3]  Bowen Alpern,et al.  Graph attribution as a specification paradigm , 1989, SDE 3.

[4]  Pierre Deransart,et al.  Attribute Grammars: Definitions, Systems and Bibliography , 1988 .

[5]  Ken Kennedy,et al.  Automatic generation of efficient evaluators for attribute grammars , 1976, POPL.

[6]  Rodney Wayne Farrow Attributed grammar models for data flow analysis. , 1977 .

[7]  Thomas W. Reps,et al.  Generating Language-Based Environments , 1982 .

[8]  R. Hoover Incremental graph evaluation (attribute grammar) , 1987 .

[9]  Thomas W. Reps,et al.  Remote attribute updating for language-based editors , 1986, POPL '86.

[10]  Roger Hoover Dynamically bypassing copy rule chains in attribute grammars , 1986, POPL '86.

[11]  Gregory F. Johnson,et al.  Non-syntactic attribute flow in language based editors , 1982, POPL '82.

[12]  Dashing Yeh On incremental evaluation of ordered attributed grammars , 1983, BIT Comput. Sci. Sect..

[13]  Roger King,et al.  Semantic Feedback in the Higgens UIMS , 1988, IEEE Trans. Software Eng..

[14]  Thomas W. Reps,et al.  Incremental Context-Dependent Analysis for Language-Based Editors , 1983, TOPL.

[15]  Rodney Farrow Automatic generation of fixed-point-finding evaluators for circular, but well-defined, attribute grammars , 1986, SIGPLAN '86.