| 12345678910111213141516171819 |
- MODULE TStmtSfx;
- (* Statement-context result suffix: a call result used as an assignment
- target, `Get()^.x := e` (pointer result). Exit 42. *)
- VAR ExitCode : INTEGER;
- TYPE
- Rec = RECORD x : INTEGER END;
- PR = POINTER TO Rec;
- VAR g : PR;
- PROCEDURE Get () : PR;
- BEGIN RETURN g END Get;
- BEGIN
- NEW(g);
- g^.x := 0;
- Get()^.x := 42;
- IF g^.x = 42 THEN ExitCode := 42 ELSE ExitCode := 1 END
- END TStmtSfx.
|