From 4fcc9f5ca26bec31d1c4d6ead1578e96337dd329 Mon Sep 17 00:00:00 2001 From: Son Ho Date: Fri, 28 Jan 2022 00:02:15 +0100 Subject: Generate meta-information for the assignments --- src/Pure.ml | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src/Pure.ml') 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 -- cgit v1.2.3