XAGra is an XML notation defined to support the abstract representation of an attribute grammar, incremented with generic and useful information used by compiler generator tools.
The first version of the defined schema can be viewed or downloaded in the following link:
The whole structure of this schema can be separated into five big fragments:
symbols | Where the terminal, nonterminal and the start symbols are defined. |
attributesDecl | Where information about the attributes and the symbols to which they are associated is stored. |
semanticProds | Where the productions and the semantic rules are declared: in each production, is defined the Left Hand Side, the Right Hand Side and the attribute computations in a very modular way. |
importations | Where the modules or packages necessary to perform the computations are declared. |
functions | Is the element where can be declare necessary functions. |
The image below shows the diagrammatic view of the complete schema for XAGra: