{ test of module semantics}
$c+
module test1_1
 integer a;
private
 integer b,c;
 begin

 read b, c;
 a := 55;
 if a = 22 ->	b := 1;
		c := (a+b)*c;
 		a := 1;
   [] a # 22  -> skip;
 fi;
  write a, b, c;
 end.

module nobody
integer x;
.

module redefiner
private
 integer a,b; {a causes errors until test15 passes (b should be ok)}

 begin
 a := 2;
 read b;
 write b / 2 ;
 end.

module user
private
begin
write a; { eventually we will refer to a as test1_1.a}
x := 99;
write x;  $s+ 
end.  { one error}
