-- File generated by the BNF Converter. -- Templates for pattern matching on abstract syntax {-# OPTIONS_GHC -fno-warn-unused-matches #-} module SkelGF where import Prelude (($), Either(..), String, (++), Show, show) import qualified AbsGF type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transIdent :: AbsGF.Ident -> Result transIdent x = case x of AbsGF.Ident string -> failure x transLString :: AbsGF.LString -> Result transLString x = case x of AbsGF.LString string -> failure x transGrammar :: Show a => AbsGF.Grammar' a -> Result transGrammar x = case x of AbsGF.Gr _ modDefs -> failure x transModDef :: Show a => AbsGF.ModDef' a -> Result transModDef x = case x of AbsGF.MMain _ x1 x2 concSpecs -> failure x AbsGF.MModule _ complMod modType modBody -> failure x transConcSpec :: Show a => AbsGF.ConcSpec' a -> Result transConcSpec x = case x of AbsGF.ConcSpecC _ x concExp -> failure x transConcExp :: Show a => AbsGF.ConcExp' a -> Result transConcExp x = case x of AbsGF.ConcExpC _ x transfers -> failure x transTransfer :: Show a => AbsGF.Transfer' a -> Result transTransfer x = case x of AbsGF.TransferIn _ openDecl -> failure x AbsGF.TransferOut _ openDecl -> failure x transModType :: Show a => AbsGF.ModType' a -> Result transModType x = case x of AbsGF.MTAbstract _ x -> failure x AbsGF.MTConcrete _ x1 x2 -> failure x AbsGF.MTInstance _ x1 x2 -> failure x AbsGF.MTInterface _ x -> failure x AbsGF.MTResource _ x -> failure x AbsGF.MTTransfer _ x openDecl1 openDecl2 -> failure x transModBody :: Show a => AbsGF.ModBody' a -> Result transModBody x = case x of AbsGF.MBody _ extend opens topDefs -> failure x AbsGF.MReuse _ x -> failure x AbsGF.MUnion _ includeds -> failure x AbsGF.MWith _ x openDecls -> failure x AbsGF.MWithE _ includeds x openDecls -> failure x transExtend :: Show a => AbsGF.Extend' a -> Result transExtend x = case x of AbsGF.Ext _ includeds -> failure x AbsGF.NoExt _ -> failure x transOpens :: Show a => AbsGF.Opens' a -> Result transOpens x = case x of AbsGF.NoOpens _ -> failure x AbsGF.OpenIn _ openDecls -> failure x transOpenDecl :: Show a => AbsGF.OpenDecl' a -> Result transOpenDecl x = case x of AbsGF.OName _ x -> failure x AbsGF.OQual _ qualOpen x1 x2 -> failure x AbsGF.OQualQO _ qualOpen x -> failure x transComplMod :: Show a => AbsGF.ComplMod' a -> Result transComplMod x = case x of AbsGF.CMCompl _ -> failure x AbsGF.CMIncompl _ -> failure x transQualOpen :: Show a => AbsGF.QualOpen' a -> Result transQualOpen x = case x of AbsGF.QOCompl _ -> failure x AbsGF.QOIncompl _ -> failure x AbsGF.QOInterface _ -> failure x transIncluded :: Show a => AbsGF.Included' a -> Result transIncluded x = case x of AbsGF.IAll _ x -> failure x AbsGF.IMinus _ x idents -> failure x AbsGF.ISome _ x idents -> failure x transDef :: Show a => AbsGF.Def' a -> Result transDef x = case x of AbsGF.DDeclC _ names exp -> failure x AbsGF.DDef _ names exp -> failure x AbsGF.DFull _ names exp1 exp2 -> failure x AbsGF.DPatt _ name patts exp -> failure x transTopDef :: Show a => AbsGF.TopDef' a -> Result transTopDef x = case x of AbsGF.DefCat _ catDefs -> failure x AbsGF.DefData _ dataDefs -> failure x AbsGF.DefDef _ defs -> failure x AbsGF.DefFlag _ flagDefs -> failure x AbsGF.DefFun _ funDefs -> failure x AbsGF.DefFunData _ funDefs -> failure x AbsGF.DefLin _ defs -> failure x AbsGF.DefLincat _ printDefs -> failure x AbsGF.DefLindef _ defs -> failure x AbsGF.DefLintype _ defs -> failure x AbsGF.DefOper _ defs -> failure x AbsGF.DefPackage _ x topDefs -> failure x AbsGF.DefPar _ parDefs -> failure x AbsGF.DefPattern _ defs -> failure x AbsGF.DefPrintCat _ printDefs -> failure x AbsGF.DefPrintFun _ printDefs -> failure x AbsGF.DefPrintOld _ printDefs -> failure x AbsGF.DefTokenizer _ x -> failure x AbsGF.DefTrans _ defs -> failure x AbsGF.DefVars _ defs -> failure x transCatDef :: Show a => AbsGF.CatDef' a -> Result transCatDef x = case x of AbsGF.ListCatDefC _ x dDecls -> failure x AbsGF.ListSizeCatDef _ x dDecls n -> failure x AbsGF.SimpleCatDef _ x dDecls -> failure x transFunDef :: Show a => AbsGF.FunDef' a -> Result transFunDef x = case x of AbsGF.FunDefC _ idents exp -> failure x transDataDef :: Show a => AbsGF.DataDef' a -> Result transDataDef x = case x of AbsGF.DataDefC _ x dataConstrs -> failure x transDataConstr :: Show a => AbsGF.DataConstr' a -> Result transDataConstr x = case x of AbsGF.DataId _ x -> failure x AbsGF.DataQId _ x1 x2 -> failure x transParDef :: Show a => AbsGF.ParDef' a -> Result transParDef x = case x of AbsGF.ParDefAbs _ x -> failure x AbsGF.ParDefDir _ x parConstrs -> failure x AbsGF.ParDefIndir _ x1 x2 -> failure x transParConstr :: Show a => AbsGF.ParConstr' a -> Result transParConstr x = case x of AbsGF.ParConstrC _ x dDecls -> failure x transPrintDef :: Show a => AbsGF.PrintDef' a -> Result transPrintDef x = case x of AbsGF.PrintDefC _ names exp -> failure x transFlagDef :: Show a => AbsGF.FlagDef' a -> Result transFlagDef x = case x of AbsGF.FlagDefC _ x1 x2 -> failure x transName :: Show a => AbsGF.Name' a -> Result transName x = case x of AbsGF.IdentName _ x -> failure x AbsGF.ListNameC _ x -> failure x transLocDef :: Show a => AbsGF.LocDef' a -> Result transLocDef x = case x of AbsGF.LDDecl _ idents exp -> failure x AbsGF.LDDef _ idents exp -> failure x AbsGF.LDFull _ idents exp1 exp2 -> failure x transExp :: Show a => AbsGF.Exp' a -> Result transExp x = case x of AbsGF.EAbstr _ binds exp -> failure x AbsGF.EApp _ exp1 exp2 -> failure x AbsGF.ECTable _ binds exp -> failure x AbsGF.ECase _ exp cases -> failure x AbsGF.EConAt _ x exp -> failure x AbsGF.EConcat _ exp1 exp2 -> failure x AbsGF.ECons _ x -> failure x AbsGF.EConstr _ x -> failure x AbsGF.EData _ -> failure x AbsGF.EEmpty _ -> failure x AbsGF.EEqs _ equations -> failure x AbsGF.EExtend _ exp1 exp2 -> failure x AbsGF.EGlue _ exp1 exp2 -> failure x AbsGF.EIdent _ x -> failure x AbsGF.EIndir _ x -> failure x AbsGF.EInt _ n -> failure x AbsGF.ELString _ lString -> failure x AbsGF.ELet _ locDefs exp -> failure x AbsGF.ELetb _ locDefs exp -> failure x AbsGF.ELin _ x -> failure x AbsGF.EList _ x exps -> failure x AbsGF.EMeta _ -> failure x AbsGF.EPre _ exp alterns -> failure x AbsGF.EProd _ decl exp -> failure x AbsGF.EProj _ exp label -> failure x AbsGF.EQCons _ x1 x2 -> failure x AbsGF.EQConstr _ x1 x2 -> failure x AbsGF.ERecord _ locDefs -> failure x AbsGF.ESelect _ exp1 exp2 -> failure x AbsGF.ESort _ sort -> failure x AbsGF.EString _ str -> failure x AbsGF.EStrings _ str -> failure x AbsGF.EStrs _ exps -> failure x AbsGF.ETTable _ exp cases -> failure x AbsGF.ETType _ exp1 exp2 -> failure x AbsGF.ETable _ cases -> failure x AbsGF.ETupTyp _ exp1 exp2 -> failure x AbsGF.ETuple _ tupleComps -> failure x AbsGF.ETyped _ exp1 exp2 -> failure x AbsGF.EVTable _ exp exps -> failure x AbsGF.EVariants _ exps -> failure x AbsGF.EWhere _ exp locDefs -> failure x transExps :: Show a => AbsGF.Exps' a -> Result transExps x = case x of AbsGF.ConsExp _ exp exps -> failure x AbsGF.NilExp _ -> failure x transPatt :: Show a => AbsGF.Patt' a -> Result transPatt x = case x of AbsGF.PC _ x patts -> failure x AbsGF.PCon _ x -> failure x AbsGF.PInt _ n -> failure x AbsGF.PQ _ x1 x2 -> failure x AbsGF.PQC _ x1 x2 patts -> failure x AbsGF.PR _ pattAsss -> failure x AbsGF.PStr _ str -> failure x AbsGF.PTup _ pattTupleComps -> failure x AbsGF.PV _ x -> failure x AbsGF.PW _ -> failure x transPattAss :: Show a => AbsGF.PattAss' a -> Result transPattAss x = case x of AbsGF.PA _ idents patt -> failure x transLabel :: Show a => AbsGF.Label' a -> Result transLabel x = case x of AbsGF.LIdent _ x -> failure x AbsGF.LVar _ n -> failure x transSort :: Show a => AbsGF.Sort' a -> Result transSort x = case x of AbsGF.Sort_PType _ -> failure x AbsGF.Sort_Str _ -> failure x AbsGF.Sort_Strs _ -> failure x AbsGF.Sort_Tok _ -> failure x AbsGF.Sort_Type _ -> failure x transPattAlt :: Show a => AbsGF.PattAlt' a -> Result transPattAlt x = case x of AbsGF.AltP _ patt -> failure x transBind :: Show a => AbsGF.Bind' a -> Result transBind x = case x of AbsGF.BIdent _ x -> failure x AbsGF.BWild _ -> failure x transDecl :: Show a => AbsGF.Decl' a -> Result transDecl x = case x of AbsGF.DDec _ binds exp -> failure x AbsGF.DExp _ exp -> failure x transTupleComp :: Show a => AbsGF.TupleComp' a -> Result transTupleComp x = case x of AbsGF.TComp _ exp -> failure x transPattTupleComp :: Show a => AbsGF.PattTupleComp' a -> Result transPattTupleComp x = case x of AbsGF.PTComp _ patt -> failure x transCase :: Show a => AbsGF.Case' a -> Result transCase x = case x of AbsGF.CaseC _ pattAlts exp -> failure x transEquation :: Show a => AbsGF.Equation' a -> Result transEquation x = case x of AbsGF.Equ _ patts exp -> failure x transAltern :: Show a => AbsGF.Altern' a -> Result transAltern x = case x of AbsGF.Alt _ exp1 exp2 -> failure x transDDecl :: Show a => AbsGF.DDecl' a -> Result transDDecl x = case x of AbsGF.DDDec _ binds exp -> failure x AbsGF.DDExp _ exp -> failure x transOldGrammar :: Show a => AbsGF.OldGrammar' a -> Result transOldGrammar x = case x of AbsGF.OldGr _ includeDecl topDefs -> failure x transIncludeDecl :: Show a => AbsGF.IncludeDecl' a -> Result transIncludeDecl x = case x of AbsGF.Incl _ fileNames -> failure x AbsGF.NoIncl _ -> failure x transFileName :: Show a => AbsGF.FileName' a -> Result transFileName x = case x of AbsGF.FAddId _ x fileName -> failure x AbsGF.FDot _ fileName -> failure x AbsGF.FIdent _ x -> failure x AbsGF.FMinus _ fileName -> failure x AbsGF.FSlash _ fileName -> failure x AbsGF.FString _ str -> failure x