1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97
|
-- UUAGC 0.9.56 (src-ag/VisageSyntax.ag)
module VisageSyntax where
{-# LINE 2 "src-ag/VisageSyntax.ag" #-}
import CommonTypes
import UU.Pretty
import AbstractSyntax
import VisagePatterns
import Expression
{-# LINE 13 "src-generated/VisageSyntax.hs" #-}
-- VisageChild -------------------------------------------------
{-
alternatives:
alternative VChild:
child name : {Identifier}
child tp : {Type}
child inh : {Attributes}
child syn : {Attributes}
child rules : VisageRules
-}
data VisageChild = VChild (Identifier) (Type) (Attributes) (Attributes) (VisageRules)
-- VisageChildren ----------------------------------------------
{-
alternatives:
alternative Cons:
child hd : VisageChild
child tl : VisageChildren
alternative Nil:
-}
type VisageChildren = [VisageChild]
-- VisageGrammar -----------------------------------------------
{-
alternatives:
alternative VGrammar:
child nonts : VisageNonterminals
-}
data VisageGrammar = VGrammar (VisageNonterminals)
-- VisageNonterminal -------------------------------------------
{-
alternatives:
alternative VNonterminal:
child nt : {NontermIdent}
child inh : {Attributes}
child syn : {Attributes}
child alts : VisageProductions
-}
data VisageNonterminal = VNonterminal (NontermIdent) (Attributes) (Attributes) (VisageProductions)
-- VisageNonterminals ------------------------------------------
{-
alternatives:
alternative Cons:
child hd : VisageNonterminal
child tl : VisageNonterminals
alternative Nil:
-}
type VisageNonterminals = [VisageNonterminal]
-- VisageProduction --------------------------------------------
{-
alternatives:
alternative VProduction:
child con : {ConstructorIdent}
child children : VisageChildren
child rules : VisageRules
child locrules : VisageRules
-}
data VisageProduction = VProduction (ConstructorIdent) (VisageChildren) (VisageRules) (VisageRules)
-- VisageProductions -------------------------------------------
{-
alternatives:
alternative Cons:
child hd : VisageProduction
child tl : VisageProductions
alternative Nil:
-}
type VisageProductions = [VisageProduction]
-- VisageRule --------------------------------------------------
{-
alternatives:
alternative VRule:
child fieldattrs : {[(Identifier,Identifier)]}
child attr : {Identifier}
child pat : {VisagePattern}
child rhs : {Expression}
child owrt : {Bool}
-}
data VisageRule = VRule (([(Identifier,Identifier)])) (Identifier) (VisagePattern) (Expression) (Bool)
-- VisageRules -------------------------------------------------
{-
alternatives:
alternative Cons:
child hd : VisageRule
child tl : VisageRules
alternative Nil:
-}
type VisageRules = [VisageRule]
|