Attribute grammars: attribute evaluation methods
Methods and tools for compiler construction
Compilers: principles, techniques, and tools
Compilers: principles, techniques, and tools
Pushdown machines for the macro tree transducer
Theoretical Computer Science
Lifetime analysis for attributes
Acta Informatica
Foundations of logic programming; (2nd extended ed.)
Foundations of logic programming; (2nd extended ed.)
Attribute grammars: definitions, systems and bibliography
Attribute grammars: definitions, systems and bibliography
The hierarchy of LR-attributed grammars
WAGA Proceedings of the international conference on Attribute grammars and their applications
Semantic evaluation from left to right
Communications of the ACM
Attribute Grammars, Applications and Systems: International Summer School Saga Prague, Czechoslovakia, June 4-13, 1991 Proceedings
Proceedings of the International Conference WAGA on Attribute Grammars and their Applications
Proceedings of the International Conference WAGA on Attribute Grammars and their Applications
On Constructing Efficient Evaluators for Attribute Grammars
Proceedings of the Fifth Colloquium on Automata, Languages and Programming
Automatic generation of efficient evaluators for attribute grammars
POPL '76 Proceedings of the 3rd ACM SIGACT-SIGPLAN symposium on Principles on programming languages
Journal of Computer and System Sciences
Hi-index | 0.00 |
This paper introduces a machinery called attributed top-down parsing automaton which performs top-down parsing of strings and, simultaneously, the evaluation of arbitrary noncircular attribute grammars. The strategy of the machinery is based on a single depth-first left-to-right traversal over the syntax tree. There is no need to traverse parts of the syntax tree more than once, and hence, the syntax tree itself does not have to be maintained. Attribute values are stored in a graph component, and values of attributes which are needed but not yet computed are represented by particular nodes. Values of attributes which refer to such uncomputed attributes are represented by trees over operation symbols in which pointers to the particular nodes at their leaves are maintained. Whenever eventually the needed attribute value is computed, it is glued into the graph at the appropriate nodes.