A comparison of storage optimizations in automatically-generated attribute evaluators (Q1061506)
From MaRDI portal
scientific article
Language | Label | Description | Also known as |
---|---|---|---|
English | A comparison of storage optimizations in automatically-generated attribute evaluators |
scientific article |
Statements
A comparison of storage optimizations in automatically-generated attribute evaluators (English)
0 references
1986
0 references
Attribute grammars are a value-oriented, non-procedural extension of context-free grammars that facilitate the specification of translations whose domain is described by the underlying context-free grammar. Just as parsers for context-free languages can be automatically constructed from a context-free grammar, so can translators, called attribute evaluators, be automatically generated from an attribute grammar. A major obstacle to generating efficient attribute evaluators is that they typically use large amounts of memory to represent the attributed parse tree. In this report we investigate the problem of efficient representation of the attributed parse tree by analyzing and comparing the strategies of two systems that have been used to automatically generate a translator from an attribute grammar: the GAG system developed at the University of Karlsruhe and the LINGUIST-86 system written at Intel Corporation. Our analysis will characterize the two strategies and highlight their respective strengths and weaknesses. Drawing on the insights given by this analysis, we propose a strategy for storage optimization in automatically generated attribute evaluators that not only incorporates the best features of both GAG and LINGUIST-86, but also contains novel features that address aspects of the problem that are handled poorly by both systems.
0 references
attribute grammar
0 references
efficient representation of the attributed parse tree
0 references
GAG system
0 references
LINGUIST-86 system
0 references
automatic generation of translators
0 references