diff options
| author | Cliff Click <cliffc@acm.org> | 2026-10-02 13:04:34 -0700 |
|---|---|---|
| committer | Cliff Click <cliffc@acm.org> | 2026-10-02 13:04:34 -0700 |
| commit | e4dc3273f201ae741637b626998637cce973546b (patch) | |
| tree | 7607c1da4378da42549e8142371d95bdca4e06e0 /chapter07/README.md | |
| parent | 6cd01a8d646750748a0af221073de8a7787472ad (diff) | |
| download | Simple-e4dc3273f201ae741637b626998637cce973546b.tar.gz Simple-e4dc3273f201ae741637b626998637cce973546b.zip | |
First pass README updates
Diffstat (limited to 'chapter07/README.md')
| -rw-r--r-- | chapter07/README.md | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/chapter07/README.md b/chapter07/README.md index d701278a..5a49d3ef 100644 --- a/chapter07/README.md +++ b/chapter07/README.md @@ -1,5 +1,8 @@ # Chapter 7: While Statement +[Previous: Chapter 6](../chapter06/README.md) | +[Next: Chapter 8](../chapter08/README.md) + # Table of Contents 1. [Dealing With Back Edges](#dealing-with-back-edges) @@ -7,7 +10,7 @@ 3. [Detailed Steps](#detailed-steps) 4. [Visualization](#visualization) 5. [Nested Loops](#nested-loops) -5. [Loop With Nested If](#loop-with-nested-if) +6. [Loop With Nested If](#loop-with-nested-if) You can also read [this chapter](https://github.com/SeaOfNodes/Simple/tree/linear-chapter07) in a linear Git revision history on the [linear](https://github.com/SeaOfNodes/Simple/tree/linear) branch and [compare](https://github.com/SeaOfNodes/Simple/compare/linear-chapter06...linear-chapter07) it to the previous chapter. @@ -94,7 +97,7 @@ until we complete parsing the loop body. Other nodes continue to optimize normal The newly created region becomes the current control. 2. We duplicate the current Scope node. This involves duplicating all the symbols at - every level with the scope, and creating phis for every symbol except the `$ctrl` binding. + every level within the scope, and creating phis for every symbol except the `$ctrl` binding. ```java // Make a new Scope for the body. @@ -196,7 +199,8 @@ The example quoted above is shown below at an intermediate state:  -* Three Scopes are shown, reading clockwise, the loop head, exit and the body. +* Three Scopes are shown: the loop head, exit, and body. Their `$ctrl` bindings + point to Loop, False, and True, respectively. The final graph looks like this: |
