forked from GitHub/gf-core
Added support for list categories.
This commit is contained in:
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user