2 Abstract syntax for the language. This will be translated from the abstract syntax generated by bnfc.
4 The goal of this abstract syntax is to combine similar statements/expressions to be grouped together to simplify type checking and execution.
6 This abstract syntax is far from ready so far, but it gives a hint of what we are planning.
16 newtype Ident = Ident String deriving (Eq,Ord,Show)
22 | SDecl Type Ident Exp
28 deriving (Eq,Ord,Show)
39 deriving (Eq,Ord,Show)
41 data Op = Plus | Minus | Div | Times
42 data BOp = Lt | Gt | Eq | Neq | ELt | EGt
47 deriving (Eq,Ord,Show)