OSDN Git Service

[UPDATE]expr
authormzp <mzpppp@gmail.com>
Fri, 21 Nov 2008 13:03:59 +0000 (22:03 +0900)
committermzp <mzpppp@gmail.com>
Fri, 21 Nov 2008 13:03:59 +0000 (22:03 +0900)
src/ast.ml
src/ast.mli

index 0e41996..8082845 100644 (file)
@@ -21,6 +21,24 @@ type expr =
   | SlotRef of expr * string
   | SlotSet of expr * string * expr
 
+type expr_ = 
+    Int_ of int
+  | String_ of string Node.t
+  | Bool_   of bool Node.t
+  | Float_  of float Node.t
+  | Var_    of string Node.t
+  | Lambda_ of (string list * expr_) Node.t
+  | Call_   of expr_ list Node.t
+  | If_     of (expr_ * expr_ * expr_) Node.t
+  | Let_    of ((string*expr_) list * expr_) Node.t
+  | LetRec_ of ((string*expr_) list * expr_) Node.t
+  | Block_  of expr_ list Node.t
+  | New_    of (name * expr_ list) Node.t
+  | Invoke_ of (expr_ * string * expr_ list) Node.t
+  | SlotRef_ of (expr_ * string) Node.t
+  | SlotSet_ of (expr * string * expr_) Node.t
+
+
 (* statement has side-effect *)
 type stmt = 
   | Define of string * expr
index df2db1f..a6c4659 100644 (file)
@@ -42,3 +42,4 @@ val to_string_stmt : stmt -> string
 
 val lift_stmt : (expr->expr) -> stmt -> stmt
 val lift_program : (expr->expr) -> program -> program
+