blob: f5b2c8dc198deab417aec63ea15588986c1de747 (
plain) (
tree)
|
|
type khs_binop =
| PLUS | MINUS
| TIMES | DIV | MOD
| EQUAL | NEQUAL
| GT | LT | GE | LE
| AND | OR | XOR
type khs_unop =
| MINUS | NOT
type khs_expr =
| EEmpty
| EInt of int
| EStr of string
| EBool of bool
| EFrame
| ELocal of string
| EBinary of khs_expr * khs_binop * khs_expr
| EUnary of khs_unop * khs_expr
| ETernary of khs_expr * khs_expr * khs_expr
| ECat of khs_expr * khs_expr
| ELoad of khs_expr
| ENewChan
type khs_stmt =
| SLabel of string
| SSet of khs_expr * khs_expr
| SGoto of khs_expr
| SPar of khs_expr
(* RECV and SEND do a load on their second argument (the chan),
(ie they expect an address and not a value) *)
| SRecv of khs_expr * khs_expr
| SSend of khs_expr * khs_expr
| SUnset of khs_expr list
| SExit
|