mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-30 06:52:49 -06:00
290 lines
6.4 KiB
Haskell
290 lines
6.4 KiB
Haskell
module SkelGF where
|
|
|
|
-- Haskell module generated by the BNF converter
|
|
|
|
import AbsGF
|
|
import Ident
|
|
import ErrM
|
|
type Result = Err String
|
|
|
|
failure :: Show a => a -> Result
|
|
failure x = Bad $ "Undefined case: " ++ show x
|
|
|
|
transIdent :: Ident -> Result
|
|
transIdent x = case x of
|
|
_ -> failure x
|
|
|
|
|
|
transLString :: LString -> Result
|
|
transLString x = case x of
|
|
LString str -> failure x
|
|
|
|
|
|
transGrammar :: Grammar -> Result
|
|
transGrammar x = case x of
|
|
Gr moddefs -> failure x
|
|
|
|
|
|
transModDef :: ModDef -> Result
|
|
transModDef x = case x of
|
|
MMain id0 id concspecs -> failure x
|
|
MAbstract id extend opens topdefs -> failure x
|
|
MResource id extend opens topdefs -> failure x
|
|
MResourceInt id extend opens topdefs -> failure x
|
|
MResourceImp id0 id opens topdefs -> failure x
|
|
MConcrete id0 id extend opens topdefs -> failure x
|
|
MConcreteInt id0 id extend opens topdefs -> failure x
|
|
MConcreteImp open id0 id -> failure x
|
|
MTransfer id open0 open extend opens topdefs -> failure x
|
|
MReuseAbs id0 id -> failure x
|
|
MReuseCnc id0 id -> failure x
|
|
MReuseAll id0 extend id -> failure x
|
|
|
|
|
|
transConcSpec :: ConcSpec -> Result
|
|
transConcSpec x = case x of
|
|
ConcSpec id concexp -> failure x
|
|
|
|
|
|
transConcExp :: ConcExp -> Result
|
|
transConcExp x = case x of
|
|
ConcExp id transfers -> failure x
|
|
|
|
|
|
transTransfer :: Transfer -> Result
|
|
transTransfer x = case x of
|
|
TransferIn open -> failure x
|
|
TransferOut open -> failure x
|
|
|
|
|
|
transExtend :: Extend -> Result
|
|
transExtend x = case x of
|
|
Ext id -> failure x
|
|
NoExt -> failure x
|
|
|
|
|
|
transOpens :: Opens -> Result
|
|
transOpens x = case x of
|
|
NoOpens -> failure x
|
|
Opens opens -> failure x
|
|
|
|
|
|
transOpen :: Open -> Result
|
|
transOpen x = case x of
|
|
OName id -> failure x
|
|
OQual id0 id -> failure x
|
|
|
|
|
|
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
|
|
|
|
|
|
transTopDef :: TopDef -> Result
|
|
transTopDef x = case x of
|
|
DefCat catdefs -> failure x
|
|
DefFun fundefs -> failure x
|
|
DefDef defs -> failure x
|
|
DefData pardefs -> failure x
|
|
DefTrans flagdefs -> failure x
|
|
DefPar pardefs -> failure x
|
|
DefOper defs -> failure x
|
|
DefLincat printdefs -> failure x
|
|
DefLindef defs -> failure x
|
|
DefLin defs -> failure x
|
|
DefPrintCat printdefs -> failure x
|
|
DefPrintFun printdefs -> failure x
|
|
DefFlag flagdefs -> failure x
|
|
DefPrintOld printdefs -> failure x
|
|
DefLintype defs -> failure x
|
|
DefPattern defs -> failure x
|
|
|
|
|
|
transCatDef :: CatDef -> Result
|
|
transCatDef x = case x of
|
|
CatDef id ddecls -> failure x
|
|
|
|
|
|
transFunDef :: FunDef -> Result
|
|
transFunDef x = case x of
|
|
FunDef ids exp -> failure x
|
|
|
|
|
|
transParDef :: ParDef -> Result
|
|
transParDef x = case x of
|
|
ParDef id parconstrs -> failure x
|
|
ParDefIndir id0 id -> failure x
|
|
ParDefAbs id -> failure x
|
|
|
|
|
|
transParConstr :: ParConstr -> Result
|
|
transParConstr x = case x of
|
|
ParConstr id ddecls -> failure x
|
|
|
|
|
|
transPrintDef :: PrintDef -> Result
|
|
transPrintDef x = case x of
|
|
PrintDef ids exp -> failure x
|
|
|
|
|
|
transFlagDef :: FlagDef -> Result
|
|
transFlagDef x = case x of
|
|
FlagDef id0 id -> failure x
|
|
|
|
|
|
transLocDef :: LocDef -> Result
|
|
transLocDef x = case x of
|
|
LDDecl ids exp -> failure x
|
|
LDDef ids exp -> failure x
|
|
LDFull ids exp0 exp -> failure x
|
|
|
|
|
|
transExp :: Exp -> Result
|
|
transExp x = case x of
|
|
EIdent id -> failure x
|
|
EConstr id -> failure x
|
|
ECons id -> failure x
|
|
ESort sort -> failure x
|
|
EString str -> failure x
|
|
EInt n -> failure x
|
|
EMeta -> failure x
|
|
EEmpty -> failure x
|
|
EStrings str -> failure x
|
|
ERecord locdefs -> failure x
|
|
ETuple tuplecomps -> failure x
|
|
EIndir id -> failure x
|
|
ETyped exp0 exp -> failure x
|
|
EProj exp label -> failure x
|
|
EQConstr id0 id -> failure x
|
|
EQCons id0 id -> failure x
|
|
EApp exp0 exp -> failure x
|
|
ETable cases -> failure x
|
|
ETTable exp cases -> failure x
|
|
ECase exp cases -> failure x
|
|
EVariants exps -> failure x
|
|
EPre exp alterns -> failure x
|
|
EStrs exps -> failure x
|
|
EConAt id exp -> failure x
|
|
ESelect exp0 exp -> failure x
|
|
ETupTyp exp0 exp -> failure x
|
|
EExtend exp0 exp -> failure x
|
|
EAbstr binds exp -> failure x
|
|
ECTable binds exp -> failure x
|
|
EProd decl exp -> failure x
|
|
ETType exp0 exp -> failure x
|
|
EConcat exp0 exp -> failure x
|
|
EGlue exp0 exp -> failure x
|
|
ELet locdefs exp -> failure x
|
|
EEqs equations -> failure x
|
|
ELString lstring -> failure x
|
|
ELin id -> failure x
|
|
|
|
|
|
transPatt :: Patt -> Result
|
|
transPatt x = case x of
|
|
PW -> failure x
|
|
PV id -> failure x
|
|
PCon id -> failure x
|
|
PQ id0 id -> failure x
|
|
PInt n -> failure x
|
|
PStr str -> failure x
|
|
PR pattasss -> failure x
|
|
PTup patttuplecomps -> failure x
|
|
PC id patts -> failure x
|
|
PQC id0 id patts -> failure x
|
|
|
|
|
|
transPattAss :: PattAss -> Result
|
|
transPattAss x = case x of
|
|
PA ids patt -> failure x
|
|
|
|
|
|
transLabel :: Label -> Result
|
|
transLabel x = case x of
|
|
LIdent id -> failure x
|
|
LVar n -> failure x
|
|
|
|
|
|
transSort :: Sort -> Result
|
|
transSort x = case x of
|
|
Sort_Type -> failure x
|
|
Sort_PType -> failure x
|
|
Sort_Tok -> failure x
|
|
Sort_Str -> failure x
|
|
Sort_Strs -> failure x
|
|
|
|
|
|
transPattAlt :: PattAlt -> Result
|
|
transPattAlt x = case x of
|
|
AltP patt -> failure x
|
|
|
|
|
|
transBind :: Bind -> Result
|
|
transBind x = case x of
|
|
BIdent id -> failure x
|
|
BWild -> failure x
|
|
|
|
|
|
transDecl :: Decl -> Result
|
|
transDecl x = case x of
|
|
DDec binds exp -> failure x
|
|
DExp exp -> failure x
|
|
|
|
|
|
transTupleComp :: TupleComp -> Result
|
|
transTupleComp x = case x of
|
|
TComp exp -> failure x
|
|
|
|
|
|
transPattTupleComp :: PattTupleComp -> Result
|
|
transPattTupleComp x = case x of
|
|
PTComp patt -> failure x
|
|
|
|
|
|
transCase :: Case -> Result
|
|
transCase x = case x of
|
|
Case pattalts exp -> failure x
|
|
|
|
|
|
transEquation :: Equation -> Result
|
|
transEquation x = case x of
|
|
Equ patts exp -> failure x
|
|
|
|
|
|
transAltern :: Altern -> Result
|
|
transAltern x = case x of
|
|
Alt exp0 exp -> failure x
|
|
|
|
|
|
transDDecl :: DDecl -> Result
|
|
transDDecl x = case x of
|
|
DDDec binds exp -> failure x
|
|
DDExp exp -> failure x
|
|
|
|
|
|
transOldGrammar :: OldGrammar -> Result
|
|
transOldGrammar x = case x of
|
|
OldGr include topdefs -> failure x
|
|
|
|
|
|
transInclude :: Include -> Result
|
|
transInclude x = case x of
|
|
NoIncl -> failure x
|
|
Incl filenames -> failure x
|
|
|
|
|
|
transFileName :: FileName -> Result
|
|
transFileName x = case x of
|
|
FString str -> failure x
|
|
FIdent id -> failure x
|
|
FSlash filename -> failure x
|
|
FDot filename -> failure x
|
|
FMinus filename -> failure x
|
|
FAddId id filename -> failure x
|
|
|
|
|
|
|