]> ruin.nu Git - proglang.git/blob - Abssyntax.hs
replace E with in
[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  | SDecl Type Ident Exp
20  | SDeclD Type Ident
21  | SWhile Exp Stm
22  | SIf Exp Stm Stm
23  | SPrint Exp
24  | SNoop
25   deriving (Eq,Ord,Show)
26
27 data Exp =
28    EAss Ident Exp
29  | EVar Ident
30  | EInt Integer
31  | EBool Bool
32  | ENeg Exp
33  | ENot Exp
34  | EReadI
35  | EReadB
36  | BiOpExp Exp Op Exp
37  | EPost Ident Op
38   deriving (Eq,Ord,Show)
39
40 data Op =
41    Lt
42  | ELt
43  | Gt
44  | EGt
45  | Eq
46  | NEq
47  | Plus
48  | Minus
49  | Times
50  | Div
51   deriving (Eq,Ord,Show)
52