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.