1 module Skelsyntax where
3 -- Haskell module generated by the BNF converter
7 type Result = Err String
9 failure :: Show a => a -> Result
10 failure x = Bad $ "Undefined case: " ++ show x
12 transIdent :: Ident -> Result
13 transIdent x = case x of
14 Ident str -> failure x
17 transBool :: Bool -> Result
18 transBool x = case x of
23 transStm :: Stm -> Result
24 transStm x = case x of
25 SDecl type' id exp -> failure x
27 SBlock stms -> failure x
28 SIf exp stm0 stm -> failure x
29 SWhile exp stm -> failure x
30 SPrint exp -> failure x
34 transExp :: Exp -> Result
35 transExp x = case x of
36 EAss id exp -> failure x
37 BExp exp0 bop exp -> failure x
41 EBool bool -> failure x
44 ExpT type' exp -> failure x
46 OpExp exp0 op exp -> failure x
47 EPost id op -> failure x
50 transStms :: Stms -> Result
51 transStms x = case x of
52 Program stms -> failure x
55 transBOp :: BOp -> Result
56 transBOp x = case x of
65 transOp :: Op -> Result
73 transType :: Type -> Result
74 transType x = case x of