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
    0 references
    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

    Identifiers