uuagc-0.9.54: src-ag/VisageSyntax.ag
imports
{
import CommonTypes
import UU.Pretty
import AbstractSyntax
import VisagePatterns
import Expression
}
DATA VisageGrammar | VGrammar nonts : VisageNonterminals
TYPE VisageNonterminals = [VisageNonterminal]
TYPE VisageProductions = [VisageProduction]
TYPE VisageChildren = [VisageChild]
TYPE VisageRules = [VisageRule]
DATA VisageNonterminal | VNonterminal nt : {NontermIdent}
inh : {Attributes}
syn : {Attributes}
alts : VisageProductions
DATA VisageProduction | VProduction con : {ConstructorIdent}
children : VisageChildren
rules : VisageRules
locrules : VisageRules
DATA VisageChild | VChild name : {Identifier}
tp : {Type}
inh : {Attributes}
syn : {Attributes}
rules : VisageRules
DATA VisageRule | VRule fieldattrs : {[(Identifier,Identifier)]}
attr : {Identifier}
pat : VisagePattern
rhs : Expression
owrt : {Bool}