1
0
forked from GitHub/gf-core

Added support for list categories.

This commit is contained in:
bringert
2005-05-25 09:41:59 +00:00
parent b3f5a2d7a1
commit e2dc03a9ca
10 changed files with 1947 additions and 1102 deletions

View File

@@ -1,10 +1,11 @@
module GF.Source.SkelGF where
-- Haskell module generated by the BNF converter
import GF.Source.AbsGF
import GF.Infra.Ident
import GF.Data.ErrM
type Result = Err String
failure :: Show a => a -> Result
@@ -12,7 +13,7 @@ failure x = Bad $ "Undefined case: " ++ show x
transIdent :: Ident -> Result
transIdent x = case x of
Ident str -> failure x
IC str -> failure x
transLString :: LString -> Result
@@ -61,6 +62,7 @@ transModBody :: ModBody -> Result
transModBody x = case x of
MBody extend opens topdefs -> failure x
MWith id opens -> failure x
MWithE ids id opens -> failure x
MReuse id -> failure x
MUnion includeds -> failure x
@@ -74,7 +76,7 @@ transExtend x = case x of
transOpens :: Opens -> Result
transOpens x = case x of
NoOpens -> failure x
Opens opens -> failure x
OpenIn opens -> failure x
transOpen :: Open -> Result
@@ -105,10 +107,10 @@ transIncluded x = case x of
transDef :: Def -> Result
transDef x = case x of
DDecl ids exp -> failure x
DDef ids exp -> failure x
DPatt id patts exp -> failure x
DFull ids exp0 exp -> failure x
DDecl names exp -> failure x
DDef names exp -> failure x
DPatt name patts exp -> failure x
DFull names exp0 exp -> failure x
transTopDef :: TopDef -> Result
@@ -137,7 +139,9 @@ transTopDef x = case x of
transCatDef :: CatDef -> Result
transCatDef x = case x of
CatDef id ddecls -> failure x
SimpleCatDef id ddecls -> failure x
ListCatDef id ddecls -> failure x
ListSizeCatDef id ddecls n -> failure x
transFunDef :: FunDef -> Result
@@ -158,7 +162,7 @@ transDataConstr x = case x of
transParDef :: ParDef -> Result
transParDef x = case x of
ParDef id parconstrs -> failure x
ParDefDir id parconstrs -> failure x
ParDefIndir id0 id -> failure x
ParDefAbs id -> failure x
@@ -170,7 +174,7 @@ transParConstr x = case x of
transPrintDef :: PrintDef -> Result
transPrintDef x = case x of
PrintDef ids exp -> failure x
PrintDef names exp -> failure x
transFlagDef :: FlagDef -> Result
@@ -178,6 +182,12 @@ transFlagDef x = case x of
FlagDef id0 id -> failure x
transName :: Name -> Result
transName x = case x of
IdentName id -> failure x
ListName id -> failure x
transLocDef :: LocDef -> Result
transLocDef x = case x of
LDDecl ids exp -> failure x
@@ -196,6 +206,7 @@ transExp x = case x of
EMeta -> failure x
EEmpty -> failure x
EData -> failure x
EList id exps -> failure x
EStrings str -> failure x
ERecord locdefs -> failure x
ETuple tuplecomps -> failure x
@@ -230,6 +241,12 @@ transExp x = case x of
ELin id -> failure x
transExps :: Exps -> Result
transExps x = case x of
NilExp -> failure x
ConsExp exp exps -> failure x
transPatt :: Patt -> Result
transPatt x = case x of
PW -> failure x