packages feed

uuagc-0.9.54: src-ag/LOAG/Rep.ag

MODULE {LOAG.Rep}
{}{
import CommonTypes
import AbstractSyntax
import LOAG.Common
import qualified Data.Array as A
import qualified Data.Map   as Map
import qualified Data.Set   as Set
}
imports{
import Data.List (intercalate, foldl', nub)
import Data.Tuple (swap)
import Control.Arrow
}

DATA LOAGRep | LOAGRep
    ps   : {[PLabel]}
    ap   : A_P
    an   : A_N
    ain  : AI_N
    asn  : AS_N
    sfp  : SF_P 
    pmp  : PMP
    pmpr : PMP_R
    nmp  : NMP
    nmpr : NMP_R
    gen  : {A.Array Int Int}
    inss : {A.Array Int [Int]}
    ofld : {A.Array Int Int}
    fty  : FTY
    fieldMap  : FMap 
    fsInP: {Map.Map PLabel [(PLabel,FLabel)]}

TYPE FieldAtts = [FieldAtt]
-- t is the type of the attribute this occurrence belongs to
DATA FieldAtt | FieldAtt     t : {MyType} p : {PLabel} 
                             f : {FLabel} a : {ALabel}

TYPE MySegments = [MySegment]
DATA MySegment | MySegment
                    visnr   : Int 
                    inhAttr : {[Int]}
                    synAttr : {[Int]}
                    inhOccs : {Maybe [Int]}
                    synOccs : {Maybe [Int]}

DERIVING MySegments MySegment : Show