diff options
author | Son Ho | 2022-12-14 18:25:49 +0100 |
---|---|---|
committer | Son HO | 2023-02-03 11:21:46 +0100 |
commit | 20332f3faa5e1205602c946f1c7abb9b6660e6f0 (patch) | |
tree | 4ac5f36f0487a53f6461885fd25c70c06b6f656c /compiler/Cps.ml | |
parent | 1a912cbf23c31c95041526c71bbd050bb5ac4e7c (diff) |
Add a `Loop` node in the pure AST
Diffstat (limited to 'compiler/Cps.ml')
-rw-r--r-- | compiler/Cps.ml | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/compiler/Cps.ml b/compiler/Cps.ml index 1e5c0e70..1b5164a1 100644 --- a/compiler/Cps.ml +++ b/compiler/Cps.ml @@ -17,19 +17,21 @@ type statement_eval_res = | Return | Panic | LoopReturn (** We reached a return statement *while inside a loop* *) - | EndEnterLoop of V.typed_value list + | EndEnterLoop of V.typed_value V.SymbolicValueId.Map.t (** When we enter a loop, we delegate the end of the function is synthesized with a call to the loop translation. We use this evaluation result to transmit the fact that we end evaluation because we entered a loop. - We provide the list of values for the translated loop function call. + We provide the list of values for the translated loop function call + (or to be more precise the input values instantiation). *) - | EndContinue of V.typed_value list + | EndContinue of V.typed_value V.SymbolicValueId.Map.t (** For loop translations: we end with a continue (i.e., a recursive call to the translation for the loop body). - We provide the list of values for the translated loop function call. + We provide the list of values for the translated loop function call + (or to be more precise the input values instantiation). *) [@@deriving show] |