@c+
module test5_1
private
-- test of tuple component extraction
	 integer a,b,x;
	 [integer, integer] pair;
 begin
	 read b; -- use 2 as input value
	 x := 1;
	 a := b + x;
	 pair := [x , b + 1];
	 write pair.1, pair.2 - 2; -- 11
	 if b = 2 ->	a := 1;
	 		b := 1;
	 [] b = 100 ->	a := 6;
			b := 100 / a;
	 [] b # 2  -> skip;
	 fi;
	 write a, b, x, b*x ; --1111
	 pair.2 := 1;
	 write pair.1, pair.2; -- 11
	-- semantic check run once with the next 2 statements
	-- and once without. 
	write pair.3;  -- error
	write pair.0;  -- error
 end.  -- 2 errors with final statements
 