anchor.diff:          i0:=CountInstructions;
           Emit(Node^.Left);
           i1:=NewInstruction(opSPLIT);
  +        Instructions[i1].Value:=skPLUS;
           if Node^.Value<>0 then begin
            // Non-greedy
            Instructions[i1].OtherNext:=pointer(ptrint(i0));
  
positive.code:     case Node^.NodeType of
       ntALT:begin
        i0:=NewInstruction(opSPLIT);
        Instructions[i0].Next:=pointer(ptrint(CountInstructions));
        Emit(Node^.Left);
        i1:=NewInstruction(opJMP);
  
negative.code:        procedure Parse;
  
         procedure Compile;
         procedure CompileRange;
         procedure CompilePrefix;
         procedure CompileFixedStringSearch;
         procedure CompilePrefixCharClasses;
  