Attribute Grammar

An attribute grammar is a formal way to define attributes for the productions of a formal grammar, associating these attributes to values. The evaluation occurs in the nodes of the abstract syntax tree, when the language is processed by some parser or compiler.

The attributes are divided into two groups: synthesized attributes and inherited attributes. The synthesized attributes are the result of the attribute evaluation rules, and may also use the values of the inherited attributes. The inherited attributes are passed down from parent nodes.

In some approaches, synthesized attributes are used to pass semantic information up the parse tree, while inherited attributes help pass semantic information down and across it. For instance, when constructing a language translation tool, such as a compiler, it may be used to assign semantic values to syntax constructions. Also, it is possible to validate semantic checks associated with a grammar, representing the rules of a language not explicitly imparted by the syntax definition.

Attribute grammars can also be used to translate the syntax tree directly into code for some specific machine, or into some intermediate language.

One strength of attribute grammars is that they can transport information from anywhere in the abstract syntax tree to anywhere else, in a controlled and formal way.

Read more about Attribute Grammar:  Example, Synthesized Attributes, Inherited Attributes, Special Types of Attribute Grammars

Famous quotes containing the words attribute and/or grammar:

    If Los Angeles has been called “the capital of crackpots” and “the metropolis of isms,” the native Angeleno can not fairly attribute all of the city’s idiosyncrasies to the newcomer—at least not so long as he consults the crystal ball for guidance in his business dealings and his wife goes shopping downtown in beach pajamas.
    —For the State of California, U.S. public relief program (1935-1943)

    The new grammar of race is constructed in a way that George Orwell would have appreciated, because its rules make some ideas impossible to express—unless, of course, one wants to be called a racist.
    Stephen Carter (b. 1954)