diff options
| author | bringert <unknown> | 2005-05-25 09:41:59 +0000 |
|---|---|---|
| committer | bringert <unknown> | 2005-05-25 09:41:59 +0000 |
| commit | 65bc1948d4ebb432836996bee5dba246905c154a (patch) | |
| tree | a8f54052eea58db0579443925d008ca08a79415a /src/GF/Source/SkelGF.hs | |
| parent | 4690a235381d5d28ac6a62a378f42f864821aca4 (diff) | |
Added support for list categories.
Diffstat (limited to 'src/GF/Source/SkelGF.hs')
| -rw-r--r-- | src/GF/Source/SkelGF.hs | 37 |
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 |
