An attribute grammar with common attributes and its evaluator in prolog

An Feng, Yuji Sugiyama, Mamoru Fujii, Koji Torii

    Research output: Contribution to journalArticlepeer-review


    Attribute grammars (AGs) have been championed in the literature as a potential basis for language‐analysis systems. However, there is a well‐known copy rule problem, that is, 50–70 percent of semantic rules within an AG are copy rules. In this paper, we introduce common attributes into AGs. Common attributes provide a solution to the copy rule problem, reducing copy rules to only about 10 percent. The semantics of common attributes are defined by translating them into synthesized attributes and inherited attributes. The value of these derived attributes are copied from left to right if not defined explicitly. Based on the extended attribute grammar, we have developed a specification language, named PANDA. A prototype system has been constructed to generate Prolog programs from PANDA programs automatically. Our current system is limited to process PANDA programs which belong to L‐attribute grammar (L‐AGs), a subclass of AGs. For a givn grammar G, a necessary and sufficient condition is used to determine whether or not G is an L‐AG. Some optimization strategies are applied to generate faster‐running Prolog programs.

    Original languageEnglish
    Pages (from-to)97-107
    Number of pages11
    JournalSystems and Computers in Japan
    Issue number6
    Publication statusPublished - Jun 1988

    ASJC Scopus subject areas

    • Theoretical Computer Science
    • Information Systems
    • Hardware and Architecture
    • Computational Theory and Mathematics


    Dive into the research topics of 'An attribute grammar with common attributes and its evaluator in prolog'. Together they form a unique fingerprint.

    Cite this