anchor.diff:    Node:=NodeEx^;
     if assigned(Node) then begin
      case Node^.NodeType of
  -    ntCHAR,ntANY,ntBOL,ntEOL,ntBOT,ntEOT,ntBRK,ntNBRK,ntLOOKBEHINDNEGATIVE,ntLOOKBEHINDPOSITIVE,ntLOOKAHEADNEGATIVE,ntLOOKAHEADPOSITIVE:begin
  +    ntCHAR,ntANY,ntBOL,ntEOL,ntBOT,ntEOT,ntBRK,ntNBRK,ntLOOKBEHINDNEGATIVE,ntLOOKBEHINDPOSITIVE,ntLOOKAHEADNEGATIVE,ntLOOKAHEADPOSITIVE,ntBACKREFERENCE,ntBACKREFERENCEIGNORECASE:begin
       end;
       ntPAREN,ntEXACT:begin
        NodeEx:=@Node^.Left;
  
positive.code:   BeginningAnchor:=false;
    for Counter:=0 to Nodes.Count-1 do begin
     Node:=Nodes[Counter];
     if Node^.NodeType in [ntBOL,ntEOL,ntBOT,ntEOT,ntBRK,ntNBRK,ntLOOKBEHINDNEGATIVE,ntLOOKBEHINDPOSITIVE,ntLOOKAHEADNEGATIVE,ntLOOKAHEADPOSITIVE] then begin
      DFANeedVerification:=true;
      if Node^.NodeType=ntBOT then begin
       BeginningAnchor:=true;
      end;
      break;
     end;
    end;
    if SourcePosition<=SourceLength then begin
  
negative.code:  end;
  
   for Index:=0 to Nodes.Count-1 do begin
    PFLRENode(Nodes[Index])^.Name:='';
    FreeMem(Nodes[Index]);
   end;
   FreeAndNil(Nodes);
  