anchor.diff:    end;
    end;
   begin
  - result:=ProcessNode(AnchoredRootNode,npTopLevel);
  + result:=ProcessNode(StartNode,npTopLevel);
  +end;
  +
  +function TFLRE.DumpRegularExpression:TFLRERawByteString;
  +begin
  + result:=DumpRegularExpressionNode(AnchoredRootNode);
   end;
   
   function TFLRE.GetPrefilterExpression:TFLRERawByteString;
  
positive.code:           HasOptimizations:=true;
            continue;
           end else if (Node^.Left^.NodeType=ntALT) or (Node^.Right^.NodeType=ntALT) then begin
  {         begin
             // Prefix factoring
             Optimized:=false;
             repeat
  
negative.code:                       for NewNodeIndex:=NodeListLeft.Count-2 downto 0 do begin
                         TempNode:=NewNode(ntCAT,TempNode,NodeListLeft[NewNodeIndex],0);
                        end;
                        Alternative:=NewAlt(Alternative,TempNode);
                       end else begin
                        TempNode:=NewNode(ntZEROWIDTH,nil,nil,0);
                        Alternative:=NewAlt(Alternative,TempNode);
                       end;
                      finally
  