summaryrefslogtreecommitdiff
path: root/compiler/SymbolicAst.ml
diff options
context:
space:
mode:
authorSon Ho2022-12-14 18:25:49 +0100
committerSon HO2023-02-03 11:21:46 +0100
commit20332f3faa5e1205602c946f1c7abb9b6660e6f0 (patch)
tree4ac5f36f0487a53f6461885fd25c70c06b6f656c /compiler/SymbolicAst.ml
parent1a912cbf23c31c95041526c71bbd050bb5ac4e7c (diff)
Add a `Loop` node in the pure AST
Diffstat (limited to '')
-rw-r--r--compiler/SymbolicAst.ml10
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/SymbolicAst.ml b/compiler/SymbolicAst.ml
index 60b45d99..79865e73 100644
--- a/compiler/SymbolicAst.ml
+++ b/compiler/SymbolicAst.ml
@@ -101,7 +101,9 @@ type expression =
to prettify the generated code.
*)
| ForwardEnd of
- V.typed_value list option * expression * expression T.RegionGroupId.Map.t
+ V.typed_value V.SymbolicValueId.Map.t option
+ * expression
+ * expression T.RegionGroupId.Map.t
(** We use this delimiter to indicate at which point we switch to the
generation of code specific to the backward function(s). This allows
us in particular to factor the work out: we don't need to replay the
@@ -112,9 +114,9 @@ type expression =
function, the map from region group ids to expressions gives the end
of the translation for the backward functions.
- The optional list of input values are input values for loops: upon
- entering a loop, in the translation we call the loop translation
- function, which takes care of the end of the execution.
+ The optional map from symbolic values to input values are input values
+ for loops: upon entering a loop, in the translation we call the loop
+ translation function, which takes care of the end of the execution.
*)
| Loop of loop (** Loop *)
| Meta of meta * expression (** Meta information *)