module SkelSRLRL where

-- Haskell module generated by the BNF converter

import AbsSRLRL
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
transVar :: Var -> Result
transVar x = case x of
  IVar ident -> failure x
transOplus :: Oplus -> Result
transOplus x = case x of
  Plus -> failure x
  Minus -> failure x
  Index -> failure x
transOtime :: Otime -> Result
transOtime x = case x of
  Calc oplus -> failure x
  Time -> failure x
  Div -> failure x
  Eq -> failure x
  Less -> failure x
  Greater -> failure x
  Less_Eq -> failure x
  Greater_Eq -> failure x
  Not_Eq -> failure x
transConst :: Const -> Result
transConst x = case x of
  IConst integer -> failure x
transExp :: Exp -> Result
transExp x = case x of
  EConst const -> failure x
  EVar ident -> failure x
  EVar_List var exp -> failure x
  EExp exp1 otime exp2 -> failure x
  ETop var -> failure x
  EEmpty var -> failure x
transStep :: Step -> Result
transStep x = case x of
  Oplus_Eq var oplus exp -> failure x
  OPlus_Eq_List var exp1 oplus exp2 -> failure x
  Push var1 var2 -> failure x
  Pop var1 var2 -> failure x
  Skip -> failure x
transBlk :: Blk -> Result
transBlk x = case x of
  Sstep step -> failure x
  Sif exp1 blk1 blk2 exp2 -> failure x
  Sblk blk1 blk2 -> failure x
  Sfrom exp1 blk1 blk2 exp2 -> failure x
transSRL :: SRL -> Result
transSRL x = case x of
  ESRL blk -> failure x
transLabel :: Label -> Result
transLabel x = case x of
  ELabel integer -> failure x
transJump :: Jump -> Result
transJump x = case x of
  Rgoto label -> failure x
  Rif exp label1 label2 -> failure x
  Rexit -> failure x
transFrom :: From -> Result
transFrom x = case x of
  Rfrom label -> failure x
  Rfi exp label1 label2 -> failure x
  Rentry -> failure x
transRlblk :: Rlblk -> Result
transRlblk x = case x of
  Rblk1 label from jump -> failure x
  Rblk2 label from step jump -> failure x
transRl :: Rl -> Result
transRl x = case x of
  Rl1 -> failure x
  Rl2 rlblk rl -> failure x

