module SkelSrl where

-- Haskell module generated by the BNF converter

import AbsSrl
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
  Ident string -> failure x
transSrl :: Srl -> Result
transSrl x = case x of
  SBLK blk -> failure x
transBlk :: Blk -> Result
transBlk x = case x of
  SStep step -> failure x
  SIf exp1 blk1 blk2 exp2 -> failure x
  SCon blk1 blk2 -> failure x
  SFrom exp1 blk1 blk2 exp2 -> failure x
transStep :: Step -> Result
transStep x = case x of
  Plus_Eq var oplus exp -> failure x
  Plus_In var exp1 oplus exp2 -> failure x
  Push var1 var2 -> failure x
  Pop var1 var2 -> failure x
  Skip -> failure x
transExp :: Exp -> Result
transExp x = case x of
  EConst integer -> failure x
  EVar ident -> failure x
  EIn var exp -> failure x
  ETime exp1 otime exp2 -> failure x
  ETop var1 var2 -> failure x
  EEmpty var1 var2 -> failure x
transOtime :: Otime -> Result
transOtime x = case x of
  OPlus oplus -> failure x
  Time -> failure x
  Div -> failure x
  Equal -> failure x
  Less -> failure x
  Greater -> failure x
  Less_Eq -> failure x
  Greater_Eq -> failure x
  Not_Eq -> failure x
transOplus :: Oplus -> Result
transOplus x = case x of
  Plus -> failure x
  Minus -> failure x
  Caret -> failure x
transVar :: Var -> Result
transVar x = case x of
  Var ident -> failure x

