MODULE Showcase10; // Step 4.2 tour: nested procedures, static-link display, // siblings sharing parent state, nested recursion, up-level // writes, calls. Exit 86. VAR ExitCode : INTEGER; PROCEDURE Calc(base : INTEGER); VAR acc : INTEGER; PROCEDURE AddN(n : INTEGER); BEGIN acc := acc + n END AddN; PROCEDURE Run(k : INTEGER); VAR inner : INTEGER; PROCEDURE Down(m : INTEGER); BEGIN IF m <= 0 THEN RETURN END; inner := inner + m; Down(m - 1) END Down; BEGIN inner := 0; Down(k); acc := acc + inner END Run; BEGIN acc := base; AddN(10); Run(4); Run(3); ExitCode := acc END Calc; BEGIN Calc(60) END Showcase10.