summaryrefslogtreecommitdiff
path: root/khb/khb_ast.ml
diff options
context:
space:
mode:
Diffstat (limited to 'khb/khb_ast.ml')
-rw-r--r--khb/khb_ast.ml27
1 files changed, 27 insertions, 0 deletions
diff --git a/khb/khb_ast.ml b/khb/khb_ast.ml
new file mode 100644
index 0000000..fa52ece
--- /dev/null
+++ b/khb/khb_ast.ml
@@ -0,0 +1,27 @@
+
+type khb_binop =
+ | PLUS | MINUS
+ | TIMES | DIV | MOD
+ | EQUAL | NEQUAL
+ | GT | LT | GE | LE
+ | AND | OR | XOR
+ | SEND | RECV | ASSIGN | SEQ
+
+type khb_unop =
+ | MINUS | NOT
+ | DEREF | REF
+
+
+type khb_expr =
+ | BVar of string
+ | BStr of string
+ | BInt of int
+ | BBool of bool
+ | BUnary of unop * expr
+ | BBinary of expr * unop * expr
+ | BTernary of expr * expr * expr
+ | BCall of string * expr list
+ | BLoop of expr
+ | BNewChan
+ | BPar of expr
+ | BIndex of expr * expr