-- File generated by the BNF Converter. -- Templates for pattern matching on abstract syntax {-# OPTIONS_GHC -fno-warn-unused-matches #-} module SkelCubicaltt where import Prelude (($), Either(..), String, (++), Show, show) import qualified AbsCubicaltt type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transAIdent :: AbsCubicaltt.AIdent -> Result transAIdent x = case x of AbsCubicaltt.AIdent string -> failure x transCIdent :: AbsCubicaltt.CIdent -> Result transCIdent x = case x of AbsCubicaltt.CIdent string -> failure x transHoleIdent :: AbsCubicaltt.HoleIdent -> Result transHoleIdent x = case x of AbsCubicaltt.HoleIdent string -> failure x transModule :: Show a => AbsCubicaltt.Module' a -> Result transModule x = case x of AbsCubicaltt.Module _ aIdent imps decls -> failure x transImp :: Show a => AbsCubicaltt.Imp' a -> Result transImp x = case x of AbsCubicaltt.Import _ aIdent -> failure x transDecl :: Show a => AbsCubicaltt.Decl' a -> Result transDecl x = case x of AbsCubicaltt.DeclData _ aIdent teles labels -> failure x AbsCubicaltt.DeclDef _ aIdent teles exp expWhere -> failure x AbsCubicaltt.DeclHData _ aIdent teles labels -> failure x AbsCubicaltt.DeclMutual _ decls -> failure x AbsCubicaltt.DeclOpaque _ aIdent -> failure x AbsCubicaltt.DeclSplit _ aIdent teles exp branchs -> failure x AbsCubicaltt.DeclTransparent _ aIdent -> failure x AbsCubicaltt.DeclTransparentAll _ -> failure x AbsCubicaltt.DeclUndef _ aIdent teles exp -> failure x transExpWhere :: Show a => AbsCubicaltt.ExpWhere' a -> Result transExpWhere x = case x of AbsCubicaltt.NoWhere _ exp -> failure x AbsCubicaltt.Where _ exp decls -> failure x transExp :: Show a => AbsCubicaltt.Exp' a -> Result transExp x = case x of AbsCubicaltt.App _ exp1 exp2 -> failure x AbsCubicaltt.AppFormula _ exp formula -> failure x AbsCubicaltt.Comp _ exp1 exp2 system -> failure x AbsCubicaltt.Fill _ exp1 exp2 system -> failure x AbsCubicaltt.Fst _ exp -> failure x AbsCubicaltt.Fun _ exp1 exp2 -> failure x AbsCubicaltt.Glue _ exp system -> failure x AbsCubicaltt.GlueElem _ exp system -> failure x AbsCubicaltt.HComp _ exp1 exp2 system -> failure x AbsCubicaltt.Hole _ holeIdent -> failure x AbsCubicaltt.Id _ exp1 exp2 exp3 -> failure x AbsCubicaltt.IdJ _ exp1 exp2 exp3 exp4 exp5 exp6 -> failure x AbsCubicaltt.IdPair _ exp system -> failure x AbsCubicaltt.Lam _ pTeles exp -> failure x AbsCubicaltt.Let _ decls exp -> failure x AbsCubicaltt.PCon _ aIdent exp -> failure x AbsCubicaltt.PLam _ aIdents exp -> failure x AbsCubicaltt.Pair _ exp exps -> failure x AbsCubicaltt.PathP _ exp1 exp2 exp3 -> failure x AbsCubicaltt.Pi _ pTeles exp -> failure x AbsCubicaltt.Sigma _ pTeles exp -> failure x AbsCubicaltt.Snd _ exp -> failure x AbsCubicaltt.Split _ exp branchs -> failure x AbsCubicaltt.Trans _ exp1 exp2 -> failure x AbsCubicaltt.U _ -> failure x AbsCubicaltt.UnGlueElem _ exp system -> failure x AbsCubicaltt.Var _ aIdent -> failure x transDir :: Show a => AbsCubicaltt.Dir' a -> Result transDir x = case x of AbsCubicaltt.Dir0 _ -> failure x AbsCubicaltt.Dir1 _ -> failure x transSystem :: Show a => AbsCubicaltt.System' a -> Result transSystem x = case x of AbsCubicaltt.System _ sides -> failure x transFace :: Show a => AbsCubicaltt.Face' a -> Result transFace x = case x of AbsCubicaltt.Face _ aIdent dir -> failure x transSide :: Show a => AbsCubicaltt.Side' a -> Result transSide x = case x of AbsCubicaltt.Side _ faces exp -> failure x transFormula :: Show a => AbsCubicaltt.Formula' a -> Result transFormula x = case x of AbsCubicaltt.Atom _ aIdent -> failure x AbsCubicaltt.Conj _ formula1 cIdent formula2 -> failure x AbsCubicaltt.Dir _ dir -> failure x AbsCubicaltt.Disj _ formula1 formula2 -> failure x AbsCubicaltt.Neg _ formula -> failure x transBranch :: Show a => AbsCubicaltt.Branch' a -> Result transBranch x = case x of AbsCubicaltt.OBranch _ aIdent aIdents expWhere -> failure x AbsCubicaltt.PBranch _ aIdent aIdents1 aIdents2 expWhere -> failure x transLabel :: Show a => AbsCubicaltt.Label' a -> Result transLabel x = case x of AbsCubicaltt.OLabel _ aIdent teles -> failure x AbsCubicaltt.PLabel _ aIdent teles aIdents system -> failure x transTele :: Show a => AbsCubicaltt.Tele' a -> Result transTele x = case x of AbsCubicaltt.Tele _ aIdent aIdents exp -> failure x transPTele :: Show a => AbsCubicaltt.PTele' a -> Result transPTele x = case x of AbsCubicaltt.PTele _ exp1 exp2 -> failure x