signature IMPAST = sig

  type var = string
  type label = string

  datatype aexp = 
    Int of int 
  | Var of var
  | Plus of aexp * aexp

  and bexp =
    True
  | False
  | Less of aexp * aexp

  and com =
    Skip
  | Assign of var * aexp
  | Seq of com * com
  | If of bexp * com * com
  | While of bexp * com
  | Label of label * com 
  | Goto of label
  | Break
  | Continue

end
