anchor.diff:        opJMP=4;
         opSPLIT=5;
         opSAVE=6;
  -      opZEROWIDTH=7;
  -      opLOOKBEHINDNEGATIVE=8;
  -      opLOOKBEHINDPOSITIVE=9;
  -      opLOOKAHEADNEGATIVE=10;
  -      opLOOKAHEADPOSITIVE=11;
  -      opBACKREFERENCE=12;
  -      opBACKREFERENCEIGNORECASE=13;
  +      opMANY=7;
  +      opZEROWIDTH=8;
  +      opLOOKBEHINDNEGATIVE=9;
  +      opLOOKBEHINDPOSITIVE=10;
  +      opLOOKAHEADNEGATIVE=11;
  +      opLOOKAHEADPOSITIVE=12;
  +      opBACKREFERENCE=13;
  +      opBACKREFERENCEIGNORECASE=14;
   
         // Split kind
         skALT=0;
  
positive.code:   while assigned(Instruction) and (InstructionGenerations[Instruction^.IDandOpcode shr 8]<>Generation) do begin
     InstructionGenerations[Instruction^.IDandOpcode shr 8]:=Generation;
     case Instruction^.IDandOpcode and $ff of
      opJMP:begin
       Instruction:=Instruction^.Next;
      end;
      opSAVE:begin
  
negative.code:        end;
        end;
       end;
       ntMANY:begin
        Emit(Node^.Left);
        if not assigned(BackreferenceParentNode) then begin
         Emit(Node^.Left);
         i0:=NewInstruction(opMANY);
         Instructions[i0].Value:=Node^.Value;
         Instructions[i0].Next:=pointer(ptrint(CountInstructions));
        end;
       end;
       ntZEROWIDTH:begin
        if Reversed then begin
         Flags:=Node^.Value and (sfEmptyWordBoundary or sfEmptyNonWordBoundary);
  