diff options
author | Son Ho | 2022-01-28 00:02:15 +0100 |
---|---|---|
committer | Son Ho | 2022-01-28 00:02:15 +0100 |
commit | 4fcc9f5ca26bec31d1c4d6ead1578e96337dd329 (patch) | |
tree | 0c6916e75d6563b5c3bdeb20f159fc1dfd8e662e /src/Pure.ml | |
parent | 777f54fa007dfc0ec92cf8e7c6b7c36931775d68 (diff) |
Generate meta-information for the assignments
Diffstat (limited to 'src/Pure.ml')
-rw-r--r-- | src/Pure.ml | 6 |
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 |