| 1234567891011121314151617181920 |
- MODULE TNested;
- // Wirth-style local module: EXPORT list, a BEGIN init body, and use
- // of an exported variable and procedure from the enclosing scope.
- // Exit 42.
- VAR ExitCode : INTEGER;
- MODULE Inner;
- EXPORT y, SetY;
- VAR y : INTEGER;
- PROCEDURE SetY (v : INTEGER);
- BEGIN y := v END SetY;
- BEGIN
- y := 2
- END Inner;
- BEGIN
- ExitCode := y; // 2 (Inner's init ran)
- SetY(40);
- ExitCode := ExitCode + y // 2 + 40 = 42
- END TNested.
|