module SkelRl where

-- Haskell module generated by the BNF converter

import AbsRl
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
transRl :: Rl -> Result
transRl x = case x of
  RLBLK1 -> failure x
  RLBLK rlblk rl -> failure x
transRlblk :: Rlblk -> Result
transRlblk x = case x of
  RBlk1 label from jump -> failure x
  RBlk2 label from step jump -> 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
transLabel :: Label -> Result
transLabel x = case x of
  Label integer -> 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

