anchor.diff:     mask[l2var2z] := '_000';
      }
    }; (* 3471 *)
  - pck(word[1], glob272z);
  - pck(mask[1], glob273z);
  + pck(word[1], dummy6);
  + pck(mask[1], dummy7);
    while not eol do getch( nextch );
  - glob489z := atEOF;
  + dummy1 := atEOF;
    atEOF := false;
  - glob488z := l2var1z;
  + dummy2 := l2var1z;
    getch( nextch );
    if atEOF then GOTO 3575;
    }; (* 3512 *)
  - glob472z := true;
  + illSpec := true;
   };
   {
     rewrite(result);
  
positive.code: procedure doFile; { doArray };
  procedure doSet; { doArray };
  procedure doRecord;
  procedure doFields(l5arg1z:boolean);
  procedure doRecCase;
  {
   P1517;  P0543;
   glob412z := 4;
   Indent;  P1656;
   if (SY <> kof) then synterr;
   repeat token until ch <> ';';
   while (SY <> kend) and (ch <> ')') do {
   P0543;
   getAtom;
   while (ch <> ':') do  P1646;
   P1544;
   P1517;
   glob412z := glob347z - 10;
   Indent;
   token;
   if (ch <> '(') then synterr;
   Indent;
   P1517;
   doFields (false);
   Dindent;
   if (ch <> ')') then synterr;
   repeat token until ch <> ';';
   Dindent;
   };
   Dindent;
  };
  { (* doFields *)
   if l5arg1z then glob412z := 5;
   Indent; token;
   while (SY = klast) do {
     if l5arg1z then  P0543;
     l5arg1z := true;
     repeat token until ch = ':';
     P1544;
     doTypeDecl;
     while (ch = ';') do token;
   };
   Dindent;
   if (SY = kcase) then doRecCase;
  };
  { (* doRecord *)
   doFields(true);
   if (SY <> kend) then synterr;
   token;
  };
  { (* 2120 *)
   P1517;  Indent;  token;
   if (SY = kpacked) then token;
   if (ch = '^') or (ch = '_026') or (ch = '@') then P1725
   else if (SY = karray) then doArray
   else if (SY = kfile) then doFile
   else if (SY = kset) then doSet
   else if (SY = krecord) then doRecord
   else P1703;
   Dindent;
  };
  procedure doLabel;
  {
   P1517; Indent;
   repeat token until ch = ';';
   token; P0543; Dindent;
  };
  procedure doConst;
  {
   P1517; Indent; token;
   if (SY <> klast) then synterr;
   repeat 
   P1532; token;
   if (ch <> '=') then synterr;
   P1646;
   if (ch <> ';') then synterr;
   P1517; token;
   until (SY <> klast);
   P0543; Dindent;
  };
  procedure doType;
  {
   P1517; P1517; Indent; token;
   if (SY <> klast) then synterr;
   repeat
   P1532; token;
   if (ch <> '=') then synterr;
   doTypeDecl;
   if (ch <> ';') then synterr;
   P1517; token;
   until (SY <> klast);
   P0543; Dindent;
  };
  procedure doVar;
  {
   P1517; P1517; P1517; Indent; token;
   if (SY <> klast) then synterr;
  repeat
   token;
   while (ch <> ':') do token;
   P1544; doTypeDecl;
   if (ch <> ';') then synterr;
   P1517; token;
   until (SY <> klast);
   P0543; Dindent;
  };
  procedure P2334;
  {
   Indent;
   repeat 
     token;
     if (ch = ':') or (ch = ';') then P1517;
   until (ch = ')');
   token; Dindent;
  };
  procedure P2356;
  {
   glob412z := 8;
   Indent; token;
   if (SY <> klast) and (SY <> kexit) then synterr;
   token;
   if (ch = '(') then P2334;
   if (ch <> ';') then synterr;
   P3077;
  };
  procedure P2405;
  {
   glob412z := 7;
   Indent; token;
   if (SY <> klast) then synterr;
   token;
   if (ch = '(') then P2334;
   if (ch <> ':') then synterr;
   P1517; token; token;
   if (ch <> ';') then synterr;
   P3077;
  };
  procedure P3070;
  function F2442:boolean;
  {
    F2442 := (SY in [kelse,kuntil,kend]) or (ch = ';');
  };
  procedure P2454;
  {
   if (ch <> '(') then glob412z := (2);
   Indent;
   repeat P3070 until SY = kend;
   Dindent;
   token;
  };
  procedure doWhile;
  {
   glob412z := (4);
   Indent; P1656;
   if (SY <> kdo) then  synterr;
   P3070; Dindent;
  };
  procedure doRepeat;
  {
   glob412z := (5);
   Indent;
   repeat P3070 until SY = kuntil;
   Dindent; P1656;
  };
  procedure doFor;
  {
   glob412z := (2);
   Indent; P1656;
   if SY <> kdo then synterr;
   P3070; Dindent;
  };
  procedure doWith;
  {
   glob412z := (3);
   Indent; P1656;
   if SY <> kdo then synterr;
   P3070; Dindent;
  };
  procedure doSelect;
  {
   glob412z := (5);
   Indent; token;
   while (SY <> kend) do {
   P0543; P1673;
   glob412z := glob347z - 8;
   Indent; P3070; Dindent;
   if (ch = ';') then token;
   };
   Dindent; token;
  };
  procedure P2621;
  {
   token;
   if (SY = klast) then token;
  };
  procedure P2632;
  {
    token; token;
  };
  procedure doIf;
  procedure P2641;
  {
   P0543;
   glob412z := (3);
   Indent; P3070; Dindent;
  };
  { (* doIf *)
   P1517; P1656;
   if (SY <> kthen) then synterr;
   P2641;
   if (SY = kelse) then P2641;
  };
  procedure doCase;
  {
   P1517; Indent; P1656;
   if SY <> kof then  synterr;
   token;
   while SY <> kend do {
   P0543; getAtom;
   while ch <> ':' do P1646;
   P1544;
   glob412z := (glob347z - (8));
   Indent; P3070; Dindent;
   if (ch = ';') then token;
   };
   Dindent; token;
  };
  procedure P2742;
  var l4var1z, l4var2z:integer;
  {
   P0543; token;
   if curmode.f0 then {
     glob359z := 1;
     l4var2z := glob357z - 2;
     for l4var1z := glob347z to l4var2z do P1517;
     glob357z := 1;
   };
   token;
  };
  procedure P2766;
  {
   if (SY = k0) then P2742;
   while (SY = k1) and (ch = '(') do {
   token; token;
   if (SY = k1) and (ch = ')') then {
     P1517; token;
   } else synterr;
   };
   if (SY = klast) then P1656
   else if (SY = kexit) then P2621
   else if (SY = kgoto) then P2632
   else if (ch <> ';') then {
     if (ch <> ':') then P0543;
     if (SY = kbegin) then P2454
     else if (SY = kif) then doIf
     else if (SY = kcase) then doCase
     else if (SY = kwhile) then doWhile
     else if (SY = krepeat) then doRepeat
     else if (SY = kfor) then doFor
     else if (SY = kwith) then doWith
     else if (SY = kselect) then doSelect;
   };
   if not F2442 then synterr;
  };
  { (* P3070 *)
    P1517; token; P2766
  };
  { (* P3077 *)
   token; P0543;
   if not (SY IN [kfortran,kextern,kforward]) then {
   if (SY = klabel) then doLabel;
   if (SY = kconst) then doConst;
   if (SY = ktype) then doType;
   if (SY = kvar) then doVar;
   while (SY IN [kfunct,kproced]) do {
     P0543;
   if (SY = kproced) then P2356 else P2405;
   };
   if (SY <> kbegin) then synterr;
   P0543;
   if (ch <> '(') then glob412z := 2;
   Indent;
   repeat P3070 until (SY = kend);
   Dindent;
   };
   token;
   if (ch <> '.') then { Dindent; token;}
   else P1405;
  };
  procedure init;
  {
  
negative.code:    curmode := initMode;
     }
   };
   'U': {
     getFlag( longLines );
     longLines := not longLines;
     if longLines then {
       setMode (2, curmode );
       P0617;
       ch := '+';
       WriteACharacter;
     }
   };
   'A': {
     getAttr(l3var1z, '3' );
     printErr;
     writeln('PSEUDOCOMM. A', ch);
   };
   'J': {
     CopyACharacter;
     meta := ch;
     good := true;
   };
   'B','C','E','I','K','L','M','N',
   'P','R','S','T','Y','Z','Г': {
     CopyACharacter;
     good := true;
   }
   end;
   if good then CopyACharacter
   else {
     printErr;
     writeln('ERROR IN PSEUDOCOMMENT');
   };
   until ch <> ',';
   repeat while ch <> '*' do CopyACharacter;
      CopyACharacter until ch = ')';
   inQuoteOrComm := false;
   inComment := false;
   margLeft := margRight;
   atStart := false;
   l2var1z := true;
  };
  procedure CopyANumber;
  {
   while isDigit (nextch) do CopyACharacter;
   if isLetter (nextch) or (nextch = '.') then  CopyACharacter;
   SY := knum;
  };
  procedure doChar;
  {
   inQuoteOrComm := true;
   (loop) repeat
   CopyACharacter;
   if (ch = '''') and (nextch = '''') then {
     CopyACharacter;
     ch := ' ';
     if (nextch = ']') or (nextch = ';') then exit loop;
   }
   until ch = '''';
   checkQuote := '_000';
   inQuoteOrComm := false;
  };
  { (* token *)
   atStart := false;
   margLeft := margRight;
   l2var1z := true;
   while l2var1z do {
   CopyACharacter;
   l2var1z := ch = ' ';
   if l2var1z and curmode.indent then {
   if wasSpace then 
      P0605
    else
     wasSpace := true;
   } else if (ch = '(') and (nextch = '*') then {
     doComment;
   } else {
  