packages feed

uuagc-0.9.5: src-derived/ConcreteSyntax.hs

-- UUAGC 0.9.5 (ConcreteSyntax.ag)
module ConcreteSyntax where

import UU.Scanner.Position (Pos)
import Patterns   (Pattern)
import Expression (Expression)
import CommonTypes
-- AG ----------------------------------------------------------
{-
   alternatives:
      alternative AG:
         child elems          : Elems
-}
data AG = AG (Elems) 
-- Alt ---------------------------------------------------------
{-
   alternatives:
      alternative Alt:
         child pos            : {Pos}
         child names          : ConstructorSet
         child fields         : {Fields}
-}
data Alt = Alt (Pos) (ConstructorSet) (Fields) 
-- Alts --------------------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : Alt
         child tl             : Alts
      alternative Nil:
-}
type Alts = [Alt]
-- Attrs -------------------------------------------------------
{-
   alternatives:
      alternative Attrs:
         child pos            : {Pos}
         child inh            : {AttrNames}
         child chn            : {AttrNames}
         child syn            : {AttrNames}
-}
data Attrs = Attrs (Pos) (AttrNames) (AttrNames) (AttrNames) 
-- ConstructorSet ----------------------------------------------
{-
   alternatives:
      alternative CAll:
      alternative CDifference:
         child set1           : ConstructorSet
         child set2           : ConstructorSet
      alternative CName:
         child name           : {Constructor}
      alternative CUnion:
         child set1           : ConstructorSet
         child set2           : ConstructorSet
-}
data ConstructorSet = CAll 
                    | CDifference (ConstructorSet) (ConstructorSet) 
                    | CName (Constructor) 
                    | CUnion (ConstructorSet) (ConstructorSet) 
-- Elem --------------------------------------------------------
{-
   alternatives:
      alternative Attr:
         child pos            : {Pos}
         child names          : NontSet
         child attrs          : Attrs
      alternative Data:
         child pos            : {Pos}
         child names          : NontSet
         child attrs          : Attrs
         child alts           : Alts
         child ext            : {Bool}
      alternative Deriving:
         child pos            : {Pos}
         child set            : NontSet
         child classes        : {[Name]}
      alternative Module:
         child pos            : {Pos}
         child name           : {String}
         child exports        : {String}
         child imports        : {String}
      alternative Pragma:
         child pos            : {Pos}
         child names          : {[Name]}
      alternative Sem:
         child pos            : {Pos}
         child names          : NontSet
         child attrs          : Attrs
         child alts           : SemAlts
      alternative Set:
         child pos            : {Pos}
         child name           : {Name}
         child set            : NontSet
      alternative Txt:
         child pos            : {Pos}
         child name           : {Name}
         child lines          : {[String]}
      alternative Type:
         child pos            : {Pos}
         child name           : {Nonterminal}
         child type           : {ComplexType}
      alternative Wrapper:
         child pos            : {Pos}
         child set            : NontSet
-}
data Elem = Attr (Pos) (NontSet) (Attrs) 
          | Data (Pos) (NontSet) (Attrs) (Alts) (Bool) 
          | Deriving (Pos) (NontSet) ([Name]) 
          | Module (Pos) (String) (String) (String) 
          | Pragma (Pos) ([Name]) 
          | Sem (Pos) (NontSet) (Attrs) (SemAlts) 
          | Set (Pos) (Name) (NontSet) 
          | Txt (Pos) (Name) ([String]) 
          | Type (Pos) (Nonterminal) (ComplexType) 
          | Wrapper (Pos) (NontSet) 
-- Elems -------------------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : Elem
         child tl             : Elems
      alternative Nil:
-}
type Elems = [Elem]
-- NontSet -----------------------------------------------------
{-
   alternatives:
      alternative All:
      alternative Difference:
         child set1           : NontSet
         child set2           : NontSet
      alternative Intersect:
         child set1           : NontSet
         child set2           : NontSet
      alternative NamedSet:
         child name           : {Nonterminal}
      alternative Path:
         child from           : {Nonterminal}
         child to             : {Nonterminal}
      alternative Union:
         child set1           : NontSet
         child set2           : NontSet
-}
data NontSet = All 
             | Difference (NontSet) (NontSet) 
             | Intersect (NontSet) (NontSet) 
             | NamedSet (Nonterminal) 
             | Path (Nonterminal) (Nonterminal) 
             | Union (NontSet) (NontSet) 
-- SemAlt ------------------------------------------------------
{-
   alternatives:
      alternative SemAlt:
         child pos            : {Pos}
         child constructorSet : ConstructorSet
         child rules          : SemDefs
-}
data SemAlt = SemAlt (Pos) (ConstructorSet) (SemDefs) 
-- SemAlts -----------------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : SemAlt
         child tl             : SemAlts
      alternative Nil:
-}
type SemAlts = [SemAlt]
-- SemDef ------------------------------------------------------
{-
   alternatives:
      alternative AttrOrderBefore:
         child before         : {(Identifier,Identifier)}
         child after          : {(Identifier,Identifier)}
      alternative Def:
         child pattern        : {Pattern}
         child rhs            : {Expression}
         child owrt           : {Bool}
      alternative SemPragma:
         child names          : {[Name]}
      alternative TypeDef:
         child ident          : {Identifier}
         child tp             : {Type}
-}
data SemDef = AttrOrderBefore ((Identifier,Identifier)) ((Identifier,Identifier)) 
            | Def (Pattern) (Expression) (Bool) 
            | SemPragma ([Name]) 
            | TypeDef (Identifier) (Type) 
-- SemDefs -----------------------------------------------------
{-
   alternatives:
      alternative Cons:
         child hd             : SemDef
         child tl             : SemDefs
      alternative Nil:
-}
type SemDefs = [SemDef]