CC/SkelJavalette.hs.bak
Jeena Paradies 063194f8be first commit
2011-04-19 11:37:05 +02:00

109 lines
2.1 KiB
Haskell

module SkelJavalette where
-- Haskell module generated by the BNF converter
import AbsJavalette
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 str -> failure x
transProgram :: Program -> Result
transProgram x = case x of
Program topdefs -> failure x
transTopDef :: TopDef -> Result
transTopDef x = case x of
FnDef type' id args block -> failure x
transArg :: Arg -> Result
transArg x = case x of
Arg type' id -> failure x
transBlock :: Block -> Result
transBlock x = case x of
Block stmts -> failure x
transStmt :: Stmt -> Result
transStmt x = case x of
Empty -> failure x
BStmt block -> failure x
Decl type' items -> failure x
Ass id expr -> failure x
Incr id -> failure x
Decr id -> failure x
Ret expr -> failure x
VRet -> failure x
Cond expr stmt -> failure x
CondElse expr stmt0 stmt -> failure x
While expr stmt -> failure x
SExp expr -> failure x
transItem :: Item -> Result
transItem x = case x of
NoInit id -> failure x
Init id expr -> failure x
transType :: Type -> Result
transType x = case x of
Int -> failure x
Doub -> failure x
Bool -> failure x
Void -> failure x
Fun type' types -> failure x
transExpr :: Expr -> Result
transExpr x = case x of
EVar id -> failure x
ELitInt n -> failure x
ELitDoub d -> failure x
ELitTrue -> failure x
ELitFalse -> failure x
EApp id exprs -> failure x
EString str -> failure x
Neg expr -> failure x
Not expr -> failure x
EMul expr0 mulop expr -> failure x
EAdd expr0 addop expr -> failure x
ERel expr0 relop expr -> failure x
EAnd expr0 expr -> failure x
EOr expr0 expr -> failure x
transAddOp :: AddOp -> Result
transAddOp x = case x of
Plus -> failure x
Minus -> failure x
transMulOp :: MulOp -> Result
transMulOp x = case x of
Times -> failure x
Div -> failure x
Mod -> failure x
transRelOp :: RelOp -> Result
transRelOp x = case x of
LTH -> failure x
LE -> failure x
GTH -> failure x
GE -> failure x
EQU -> failure x
NE -> failure x