-- File generated by the BNF Converter. -- Templates for pattern matching on abstract syntax {-# LANGUAGE GADTs #-} {-# 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 transTree :: AbsJavaletteLight.Tree c -> Result transTree t = case t of AbsJavaletteLight.Fun typ x stms -> failure t AbsJavaletteLight.SAss x exp -> failure t AbsJavaletteLight.SDecl typ x -> failure t AbsJavaletteLight.SIncr x -> failure t AbsJavaletteLight.SWhile exp stms -> failure t AbsJavaletteLight.EDouble d -> failure t AbsJavaletteLight.EInt n -> failure t AbsJavaletteLight.ELt exp1 exp2 -> failure t AbsJavaletteLight.EPlus exp1 exp2 -> failure t AbsJavaletteLight.ETimes exp1 exp2 -> failure t AbsJavaletteLight.EVar x -> failure t AbsJavaletteLight.ExpT typ exp -> failure t AbsJavaletteLight.TDouble -> failure t AbsJavaletteLight.TInt -> failure t transIdent :: AbsJavaletteLight.Ident -> Result transIdent x = case x of AbsJavaletteLight.Ident string -> failure x transProg :: AbsJavaletteLight.Prog -> Result transProg x = case x of AbsJavaletteLight.Fun typ x stms -> failure x transStm :: AbsJavaletteLight.Stm -> 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 :: AbsJavaletteLight.Exp -> 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 :: AbsJavaletteLight.Typ -> Result transTyp x = case x of AbsJavaletteLight.TDouble -> failure x AbsJavaletteLight.TInt -> failure x