-- $Header: /data/cvs-rep/uust/tools/ag/dev/VisageSyntax.ag,v 1.1 2002/11/22 11:52:49 uust Exp $ -- $Name: $ (version name) imports { import CommonTypes import UU.Pretty import AbstractSyntax import VisagePatterns import Expression } DATA VisageGrammar | VGrammar prods : VisageProductions TYPE VisageProductions = [VisageProduction] TYPE VisageAlternatives = [VisageAlternative] TYPE VisageChildren = [VisageChild] TYPE VisageRules = [VisageRule] DATA VisageProduction | VProduction nt : {Nonterminal} inh : {Attributes} syn : {Attributes} alts : VisageAlternatives DATA VisageAlternative | VAlternative con : {Constructor} children : VisageChildren rules : VisageRules locrules : VisageRules DATA VisageChild | VChild name : {Name} tp : {Type} inh : {Attributes} syn : {Attributes} rules : VisageRules DATA VisageRule | VRule fieldattrs : {[(Name,Name)]} pat : VisagePattern rhs : Expression owrt : {Bool} rule : Rule