anchor.diff:         constructor Create(AInstance:TFLRE);
          destructor Destroy; override;
          function GetSatisfyFlags(const Position:longint):longword;
  -       function GetDFAStartFlags(const Position:longint):longword;
          function LookAssertion(const Position,WhichLookAssertionString:longint;const LookBehind,Negative:boolean):boolean;
          function BackReferenceAssertion(const CaptureStart,CaptureEnd,BackReferenceStart,BackReferenceEnd:longint;const IgnoreCase:boolean):boolean;
        end;
  
positive.code: 
  procedure TFLRE.CompileByteMapForOnePassNFAAndDFA;
  var Node:PFLRENode;
      i,j,ByteCount:longint;
      CharSetMap:TFLRECharClass;
      CharClass:TFLRECharClass;
      c:ansichar;
  begin
   FillChar(ByteMap,SizeOf(TFLREByteMap),#0);
   FillChar(UnByteMap,SizeOf(TFLREByteMap),#0);
   ByteCount:=0;
   CharSetMap:=[];
   for i:=0 to Nodes.Count-1 do begin
    Node:=Nodes[i];
    if assigned(Node) then begin
     case Node^.NodeType of
      ntCHAR:begin
       CharClass:=GetCharClass(Node^.Value);
       if CharClass<>AllCharClass then begin
        for j:=0 to 255 do begin
         c:=ansichar(byte(j));
         if (c in CharClass) and not (c in CharSetMap) then begin
          System.Include(CharSetMap,c);
          ByteMap[byte(c)]:=ByteCount;
          UnByteMap[ByteCount]:=byte(c);
          inc(ByteCount);
         end;
        end;
       end;
      end;
     end;
    end;
   end;
   if ByteCount<256 then begin
    for i:=0 to 255 do begin
     if ansichar(byte(i)) in CharSetMap then begin
      inc(ByteMap[i]);
     end;
    end;
    inc(ByteCount);
  
negative.code:  StateToWorkQueue(State,Queues[0]);
  
   // Fetch flags
   NeedFlags:=(State.Flags and sfDFACacheMask) shr sfDFANeedShift;
   BeforeFlags:=State.Flags and sfEmptyAllFlags;
   OldBeforeFlags:=BeforeFlags and sfDFACacheMask;
   AfterFlags:=0;
  
   // Calculate flags
  