+++ /dev/null
-module WhileAS where
-
-type VarIdent = String
-type Label = Int
--- type Selector = String
-
-type Prog = Stat
--- type Prog = Prog [Dec] [Stat]
-
--- Contains name, a list of input vars, output var, body respectively and of course
--- the two labels ln and lx
-data Dec = Proc [VarIdent] VarIdent VarIdent Label Stat Label
-
-data AExp
- = Var VarIdent
- | IntLit Integer
- | AOp String AExp AExp
--- | Var VarIdent (Maybe Selector)
--- | Nil
- | Dummy
- deriving (Eq, Show)
-
-data BExp
- = BUnOp String BExp
- | BoolLit Bool
- | BOp String BExp BExp
- | RelOp String AExp AExp
--- | POp VarIdent (Maybe Selector)
- deriving (Eq, Show)
-
-data Stat
- = Assign VarIdent AExp Label
- | Skip Label
- | Seq [Stat]
- | If BExp Label Stat Stat
- | While BExp Label Stat
--- | Call VarIdent [AExp] VarIdent Label Label
--- | Malloc VarIdent (Maybe Selector) Label
- deriving (Show, Eq)