summaryrefslogtreecommitdiff
path: root/compiler/SymbolicAst.ml
diff options
context:
space:
mode:
authorSon Ho2024-03-08 23:53:50 +0100
committerSon Ho2024-03-08 23:53:50 +0100
commit8f1972dddbd25ff2153bdf3dabd743256fec03a4 (patch)
tree6eca36d3269b08c2a922e29290cd1d4d9f456d26 /compiler/SymbolicAst.ml
parent457888a031c870edc4576068ec647987800f0fb7 (diff)
Add some comments
Diffstat (limited to '')
-rw-r--r--compiler/SymbolicAst.ml14
1 files changed, 7 insertions, 7 deletions
diff --git a/compiler/SymbolicAst.ml b/compiler/SymbolicAst.ml
index e1f0ad38..7252a020 100644
--- a/compiler/SymbolicAst.ml
+++ b/compiler/SymbolicAst.ml
@@ -197,16 +197,16 @@ type expression =
The evaluation context is the context at the moment we introduce the
[ForwardEnd], and is used to translate the input values (see the
comments for the {!Return} variant).
+
+ This case also handles the case where we (re-)enter a loop (once
+ we enter a loop in symbolic mode, we don't get out: the loop is
+ responsible for the end of the function).
*)
| Loop of loop (** Loop *)
| ReturnWithLoop of loop_id * bool
- (** End the function with a call to a loop function.
-
- This encompasses the cases when we synthesize a function body
- and enter a loop for the first time, or when we synthesize a
- loop body and reach a [Continue].
-
- The boolean is [is_continue].
+ (** We reach a return while inside a loop.
+ The boolean is [true].
+ TODO: merge this with Return.
*)
| Meta of emeta * expression (** Meta information *)