Commit 58366e69 authored by Andrei Paskevich's avatar Andrei Paskevich

Dexpr: top-level val declarations

parent 29bfe4f7
This diff is collapsed.
...@@ -66,8 +66,8 @@ type dspec_final = { ...@@ -66,8 +66,8 @@ type dspec_final = {
ds_xpost : (vsymbol option * term) list Mexn.t; ds_xpost : (vsymbol option * term) list Mexn.t;
ds_reads : vsymbol list; ds_reads : vsymbol list;
ds_writes : term list; ds_writes : term list;
ds_checkrw : bool;
ds_diverge : bool; ds_diverge : bool;
ds_checkrw : bool;
} }
type dspec = ty -> dspec_final type dspec = ty -> dspec_final
...@@ -76,12 +76,6 @@ type dspec = ty -> dspec_final ...@@ -76,12 +76,6 @@ type dspec = ty -> dspec_final
must have this type. All vsymbols in the exceptional postcondition must have this type. All vsymbols in the exceptional postcondition
clauses must have the type of the corresponding exception. *) clauses must have the type of the corresponding exception. *)
type dtype_c = dbinder list * dspec later * dity
type dtype_v =
| DSpecI of dity
| DSpecC of dtype_c
(** Expressions *) (** Expressions *)
type dinvariant = term list type dinvariant = term list
...@@ -99,6 +93,7 @@ and dexpr_node = ...@@ -99,6 +93,7 @@ and dexpr_node =
| DEconst of Number.constant | DEconst of Number.constant
| DEapp of dexpr * dexpr list | DEapp of dexpr * dexpr list
| DEfun of dbinder list * dspec later * dexpr | DEfun of dbinder list * dspec later * dexpr
| DEany of dbinder list * dspec later * dity
| DElet of dlet_defn * dexpr | DElet of dlet_defn * dexpr
| DErec of drec_defn * dexpr | DErec of drec_defn * dexpr
| DEnot of dexpr | DEnot of dexpr
...@@ -116,7 +111,6 @@ and dexpr_node = ...@@ -116,7 +111,6 @@ and dexpr_node =
| DEabsurd | DEabsurd
| DEtrue | DEtrue
| DEfalse | DEfalse
| DEany of dtype_v
| DEmark of preid * dexpr | DEmark of preid * dexpr
| DEcast of dexpr * ity | DEcast of dexpr * ity
| DEuloc of dexpr * Loc.position | DEuloc of dexpr * Loc.position
...@@ -129,7 +123,8 @@ and drec_defn = private { fds : dfun_defn list } ...@@ -129,7 +123,8 @@ and drec_defn = private { fds : dfun_defn list }
and dfun_defn = preid * ghost * rs_kind * and dfun_defn = preid * ghost * rs_kind *
dbinder list * (dspec * variant list) later * dexpr dbinder list * (dspec * variant list) later * dexpr
type dval_decl = preid * ghost * rs_kind * dtype_v type dval_decl = preid * ghost * rs_kind *
dbinder list * dspec later * dity
(** Environment *) (** Environment *)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment