anchor.diff:    end;
    end;
    function ParseTerm:PFLRENode;
  - var MinCount,MaxCount:longint;
  + var MinCount,MaxCount,Kind:longint;
    begin
     result:=nil;
     try
  
positive.code:        end;
         if (SourcePosition<=SourceLength) and (Source[SourcePosition]='}') then begin
          inc(SourcePosition);
          result:=NewNode(ntEXACT,result,nil,nil,0);
          if (SourcePosition<=SourceLength) and (Source[SourcePosition]='?') then begin
           inc(SourcePosition);
           result^.Value:=1;
           if rfLONGEST in Flags then begin
            raise EFLRE.Create('Syntax error');
           end;
          end else begin
           if rfLONGEST in Flags then begin
            result^.Value:=1;
           end else begin
            result^.Value:=0;
           end;
          end;
          result^.MinCount:=MinCount;
          result^.MaxCount:=MaxCount;
         end else begin
          raise EFLRE.Create('Syntax error');
         end;
  
negative.code:       continue;
       end;
       ntCHAR:begin
        if Node^.CharClass=AllCharClass then begin
         i0:=NewInstruction(opANY);
         Instructions[i0].Next:=pointer(ptrint(CountInstructions));
        end else begin
         SingleChar:=#0;
         Count:=0;
         for CurrentChar:=#0 to #255 do begin
          if CurrentChar in Node^.CharClass then begin
           if Count=0 then begin
            SingleChar:=CurrentChar;
            inc(Count);
           end else begin
            inc(Count);
            break;
           end;
          end;
         end;
         if Count=1 then begin
          i0:=NewInstruction(opSINGLECHAR);
          Instructions[i0].Value:=byte(ansichar(SingleChar));
         end else begin
          i0:=NewInstruction(opCHAR);
          Index:=-1;
          for Counter:=0 to CountCharClasses-1 do begin
           if CharClasses[Counter]^=Node^.CharClass then begin
            Index:=Counter;
            break;
           end;
          end;
          if Index<0 then begin
           Index:=CountCharClasses;
           inc(CountCharClasses);
           if CountCharClasses>length(CharClasses) then begin
            SetLength(CharClasses,CountCharClasses*2);
           end;
           GetMem(CharClasses[Index],SizeOf(TFLRECharClass));
           CharClasses[Index]^:=Node^.CharClass;
          end;
          Instructions[i0].Value:=ptruint(pointer(CharClasses[Index]));
         end;
         Instructions[i0].Next:=pointer(ptrint(CountInstructions));
        end;
       end;
       ntANY:begin
        i0:=NewInstruction(opANY);
  