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