]> ruin.nu Git - proglang.git/blob - Abssyntax.hs
removed NoType and EDefault and added assert
[proglang.git] / Abssyntax.hs
1 module Abssyntax where
2
3 -- Haskell module generated by the BNF converter
4
5 newtype Ident = Ident String deriving (Eq,Ord,Show)
6
7 data Type =
8    TInt
9  | TBool
10   deriving (Eq,Ord,Show)
11
12 data Stms =
13    Program [Stm]
14   deriving (Eq,Ord,Show)
15
16 data Stm =
17    SExp Exp
18  | SBlock [Stm]
19  | SWhile Exp Stm
20  | SIf Exp Stm Stm
21  | SPrint Exp
22  | SNoop
23  | SDecl Type Ident Exp
24   deriving (Eq,Ord,Show)
25
26 data Exp =
27    EAss Ident Exp
28  | EVar Ident
29  | EInt Integer
30  | EBool Bool
31  | ENeg Exp
32  | ENot Exp
33  | EReadI
34  | EReadB
35  | BiOpExp Exp Op Exp
36  | EPost Ident Op
37   deriving (Eq,Ord,Show)
38
39 data Op =
40    Lt
41  | ELt
42  | Gt
43  | EGt
44  | Eq
45  | NEq
46  | Plus
47  | Minus
48  | Times
49  | Div
50   deriving (Eq,Ord,Show)
51