mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-04-14 15:29:31 -06:00
333 lines
7.2 KiB
Haskell
333 lines
7.2 KiB
Haskell
module SkelGF where
|
|
|
|
-- Haskell module generated by the BNF converter
|
|
|
|
import AbsGF
|
|
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
|
|
Ident str -> 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
|
|
MModule complmod modtype modbody -> 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
|
|
|
|
|
|
transModType :: ModType -> Result
|
|
transModType x = case x of
|
|
MTAbstract id -> failure x
|
|
MTResource id -> failure x
|
|
MTInterface id -> failure x
|
|
MTConcrete id0 id -> failure x
|
|
MTInstance id0 id -> failure x
|
|
MTTransfer id open0 open -> failure x
|
|
|
|
|
|
transModBody :: ModBody -> Result
|
|
transModBody x = case x of
|
|
MBody extend opens topdefs -> failure x
|
|
MWith id opens -> failure x
|
|
MReuse id -> failure x
|
|
MUnion includeds -> 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
|
|
OQualQO qualopen id -> failure x
|
|
OQual qualopen id0 id -> failure x
|
|
|
|
|
|
transComplMod :: ComplMod -> Result
|
|
transComplMod x = case x of
|
|
CMCompl -> failure x
|
|
CMIncompl -> failure x
|
|
|
|
|
|
transQualOpen :: QualOpen -> Result
|
|
transQualOpen x = case x of
|
|
QOCompl -> failure x
|
|
QOIncompl -> failure x
|
|
QOInterface -> failure x
|
|
|
|
|
|
transIncluded :: Included -> Result
|
|
transIncluded x = case x of
|
|
IAll id -> failure x
|
|
ISome id ids -> 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 datadefs -> failure x
|
|
DefTrans defs -> 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
|
|
DefPackage id topdefs -> failure x
|
|
DefVars defs -> failure x
|
|
DefTokenizer id -> 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
|
|
|
|
|
|
transDataDef :: DataDef -> Result
|
|
transDataDef x = case x of
|
|
DataDef id dataconstrs -> failure x
|
|
|
|
|
|
transDataConstr :: DataConstr -> Result
|
|
transDataConstr x = case x of
|
|
DataId id -> failure x
|
|
DataQId id0 id -> 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
|
|
ELetb locdefs exp -> failure x
|
|
EWhere exp locdefs -> 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
|
|
|
|
|
|
|