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
40 EBool bool -> failure x
43 ExpT type' exp -> failure x
45 BiOpExp exp0 op exp -> failure x
46 EPost id op -> failure x
49 transStms :: Stms -> Result
50 transStms x = case x of
51 Program stms -> failure x
54 transOp :: Op -> Result
68 transType :: Type -> Result
69 transType x = case x of