anchor.diff:         procedure CompilePrefixCharClasses;
          procedure CompileByteMapForOnePassNFAAndDFA;
          procedure CompileOnePassNFA;
  +       function IsWordChar(const CharValue:longword):boolean; {$ifdef caninline}inline;{$endif}
          function NewSubMatches(const Count:longint;const BitState:longword):PFLRESubMatches; {$ifdef caninline}inline;{$endif}
          procedure DecRef(const SubMatches:PFLRESubMatches); {$ifdef caninline}inline;{$endif}
          function IncRef(const SubMatches:PFLRESubMatches):PFLRESubMatches; {$ifdef caninline}inline;{$endif}
          function Update(const SubMatches:PFLRESubMatches;const Index,Position:longint):PFLRESubMatches; {$ifdef caninline}inline;{$endif}
          function NewThread(const Instruction:PFLREInstruction;const SubMatches:PFLRESubMatches):TFLREThread; {$ifdef caninline}inline;{$endif}
  -       function IsWordChar(const CharValue:longword):boolean; {$ifdef caninline}inline;{$endif}
          procedure AddThread(const ThreadLocalState:TFLREThreadLocalState;const ThreadList:PFLREThreadList;Instruction:PFLREInstruction;SubMatches:PFLRESubMatches;const Position:longint);
          function DFACacheState(const State:PFLREDFAState):PFLREDFAState; {$ifdef caninline}inline;{$endif}
          procedure DFAAddInstructionThread(const State:PFLREDFAState;Instruction:PFLREInstruction);
  
positive.code:  result.SubMatches:=SubMatches;
  end;
  
  function TFLRE.IsWordChar(const CharValue:longword):boolean; {$ifdef caninline}inline;{$endif}
  begin
   if CharValue=$ffffffff then begin
    result:=false;
   end else begin
    if rfUTF8 in Flags then begin
     result:=UnicodeIsWord(CharValue);
    end else begin
     case CharValue of
      ord('a')..ord('z'),ord('A')..ord('Z'),ord('0')..ord('9'),ord('_'):begin
       result:=true;
      end;
      else begin
       result:=false;
      end;
     end;
    end;
   end;
  end;
  
  procedure TFLRE.AddThread(const ThreadLocalState:TFLREThreadLocalState;const ThreadList:PFLREThreadList;Instruction:PFLREInstruction;SubMatches:PFLRESubMatches;const Position:longint);
  var Thread:PFLREThread; 
      CurrentChar,OtherChar:longword;
      OtherPosition:longint;
      BooleanValue:boolean;
  
negative.code:         end;
         end;
        end else begin
         case byte(ansichar(ThreadLocalState.Input[OtherPosition])) of
          $0a,$0d,$85:begin
           Instruction:=Instruction^.Next;
           continue;
          end;
  