summaryrefslogtreecommitdiff
path: root/src/GF/Source/SkelGF.hs
diff options
context:
space:
mode:
authorbringert <unknown>2005-05-25 09:41:59 +0000
committerbringert <unknown>2005-05-25 09:41:59 +0000
commit65bc1948d4ebb432836996bee5dba246905c154a (patch)
treea8f54052eea58db0579443925d008ca08a79415a /src/GF/Source/SkelGF.hs
parent4690a235381d5d28ac6a62a378f42f864821aca4 (diff)
Added support for list categories.
Diffstat (limited to 'src/GF/Source/SkelGF.hs')
-rw-r--r--src/GF/Source/SkelGF.hs37
1 files changed, 27 insertions, 10 deletions
diff --git a/src/GF/Source/SkelGF.hs b/src/GF/Source/SkelGF.hs
index 76e0bdc85..5c903523b 100644
--- a/src/GF/Source/SkelGF.hs
+++ b/src/GF/Source/SkelGF.hs
@@ -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