(* Test: TRY FINALLY & RETURN statements *) MODULE Main; PROCEDURE P (i: INTEGER)= VAR j: INTEGER; BEGIN j := 1; RETURN; i := 3; END P; PROCEDURE Q (i: INTEGER): INTEGER= VAR j: INTEGER; BEGIN j := 1; RETURN j+2; i := 3; END Q; PROCEDURE PP (i: INTEGER)= VAR j: INTEGER; BEGIN j := 1; TRY j := 2; RETURN; j := 3; FINALLY j := 4; RETURN; j := 5; END; RETURN; i := 6; END PP; PROCEDURE QQ (i: INTEGER): INTEGER= VAR j: INTEGER; BEGIN j := 1; TRY j := 2; RETURN j+0; j := 3; FINALLY j := 4; RETURN j+1; j := 5; END; RETURN j+2; i := 6; END QQ; VAR ii: [0..9]; BEGIN P (3); ii := Q (3); END Main.