summaryrefslogtreecommitdiff
path: root/src/Pure.ml
diff options
context:
space:
mode:
authorSon Ho2022-01-28 00:02:15 +0100
committerSon Ho2022-01-28 00:02:15 +0100
commit4fcc9f5ca26bec31d1c4d6ead1578e96337dd329 (patch)
tree0c6916e75d6563b5c3bdeb20f159fc1dfd8e662e /src/Pure.ml
parent777f54fa007dfc0ec92cf8e7c6b7c36931775d68 (diff)
Generate meta-information for the assignments
Diffstat (limited to 'src/Pure.ml')
-rw-r--r--src/Pure.ml6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/Pure.ml b/src/Pure.ml
index ba0c9837..89748bdd 100644
--- a/src/Pure.ml
+++ b/src/Pure.ml
@@ -200,6 +200,11 @@ type let_bindings =
code if we detect there is exactly one variant?...
*)
+(** Meta-information stored in the AST *)
+type meta =
+ | Aggregate of mplace option * typed_rvalue
+ | Assignment of mplace * typed_rvalue
+
(** **Rk.:** here, [expression] is not at all equivalent to the expressions
used in CFIM. They are lambda-calculus expressions, and are thus actually
more general than the CFIM statements, in a sense.
@@ -215,6 +220,7 @@ type expression =
| Let of let_bindings * expression
(** Let bindings include the let-bindings introduced because of function calls *)
| Switch of typed_rvalue * mplace option * switch_body
+ | Meta of meta * expression (** Meta-information *)
and switch_body =
| If of expression * expression