]> ocean-lang.org Git - ocean/blobdiff - csrc/oceani.mdc
oceani: create separate scope for do part of while
[ocean] / csrc / oceani.mdc
index 122bcbcc6338ac33772f83c79b7256942564ef47..1be7c673c010a31c9737fcfb959abc4861afb956 100644 (file)
@@ -3945,19 +3945,21 @@ casepart` to track a list of case parts.
 
        $*binode
        // This scope is closed in CondStatement
-       WhilePart -> while UseBlock OptNL do Block ${
+       WhilePart -> while UseBlock OptNL do OpenBlock ${
                        $0 = new(binode);
                        $0->op = Loop;
                        $0->left = $<UB;
-                       $0->right = $<Bl;
+                       $0->right = $<OB;
+                       var_block_close(c, CloseSequential);
                        var_block_close(c, CloseSequential);
                }$
-               | while OpenScope Expression ColonBlock ${
+               | while OpenScope Expression OpenScope ColonBlock ${
                        $0 = new(binode);
                        $0->op = Loop;
                        $0->left = $<Exp;
                        $0->right = $<CB;
                        var_block_close(c, CloseSequential);
+                       var_block_close(c, CloseSequential);
                }$
 
        $cond_statement