One-pass transformations of attributed program trees

H. Alblas

    Research output: Contribution to journalArticleAcademic

    3 Citations (Scopus)
    140 Downloads (Pure)


    The classical attribute grammar framework can be extended by allowing the specification of tree transformation rules. A tree transformation rule consists of an input template, an output template, enabling conditions which are predicates on attribute instances of the input template, and re-evaluation rules which define the values of attribute instances of the output template. A tree transformation may invalidate attribute instances which are needed for additional transformations. In this paper we investigate whether consecutive tree transformations and attribute re-evaluations are safely possible during a single pass over the derivation tree. This check is made at compiler generation time rather than at compilation time. A graph theoretic characterization of attribute dependencies is given, showing in which cases the recomputation of attribute instances can be done in parallel with tree transformations.
    Original languageUndefined
    Pages (from-to)299-352
    JournalActa informatica
    Issue number3
    Publication statusPublished - 1987


    • IR-85714

    Cite this