-- File generated by the BNF Converter. -- Templates for pattern matching on abstract syntax {-# OPTIONS_GHC -fno-warn-unused-matches #-} module SkelJavaletteLight where import Prelude (($), Either(..), String, (++), Show, show) import qualified AbsJavaletteLight type Err = Either String type Result = Err String failure :: Show a => a -> Result failure x = Left $ "Undefined case: " ++ show x transIdent :: AbsJavaletteLight.Ident -> Result transIdent x = case x of AbsJavaletteLight.Ident string -> failure x transProg :: Show a => AbsJavaletteLight.Prog' a -> Result transProg x = case x of AbsJavaletteLight.Fun _ typ x stms -> failure x transStm :: Show a => AbsJavaletteLight.Stm' a -> Result transStm x = case x of AbsJavaletteLight.SAss _ x exp -> failure x AbsJavaletteLight.SDecl _ typ x -> failure x AbsJavaletteLight.SIncr _ x -> failure x AbsJavaletteLight.SWhile _ exp stms -> failure x transExp :: Show a => AbsJavaletteLight.Exp' a -> Result transExp x = case x of AbsJavaletteLight.EDouble _ d -> failure x AbsJavaletteLight.EInt _ n -> failure x AbsJavaletteLight.ELt _ exp1 exp2 -> failure x AbsJavaletteLight.EPlus _ exp1 exp2 -> failure x AbsJavaletteLight.ETimes _ exp1 exp2 -> failure x AbsJavaletteLight.EVar _ x -> failure x AbsJavaletteLight.ExpT _ typ exp -> failure x transTyp :: Show a => AbsJavaletteLight.Typ' a -> Result transTyp x = case x of AbsJavaletteLight.TDouble _ -> failure x AbsJavaletteLight.TInt _ -> failure x