*program self2;
var 
 a:array[1..10000] of char; i:word;
function  M:boolean; begin M:=a[i]=chr(42) end;
procedure P(b:byte); begin a[i]:=chr(b); inc(i) end;
procedure C; begin write(a[i]); inc(i) end;
procedure L; begin repeat dec(i) until M end;
procedure W; begin writeln(' P(',ord(a[i]),');'); inc(i) end;
begin
 i:=0;
* 
 L;L;L;inc(i);
 repeat C until M;
 L;
 repeat W until M;
 repeat W until M;
 W;
 L;L;inc(i);
 repeat C until M;
 { Do something else here }
end.*
