anchor.diff:  
         ucACCEPT=0;
         ucERROR=16;
  +
  +      // Node precedences
  +      npAtom=0;
  +      npUnary=1;
  +      npConcat=2;
  +      npAlternate=3;
  +      npZeroWidth=4;
  +      npParen=5;
  +      npMultiMatch=6;
  +      npTopLevel=7;
  +
  +      NodePrecedences:array[ntALT..ntBACKREFERENCEIGNORECASE] of longint=(
  +       npAlternate,   // ntALT=0;
  +       npConcat,      // ntCAT=1;
  +       npAtom,        // ntCHAR=2;
  +       npParen,       // ntPAREN=3;
  +       npUnary,       // ntQUEST=4;
  +       npUnary,       // ntSTAR=5;
  +       npUnary,       // ntPLUS=6;
  +       npMultiMatch,  // ntMULTIMATCH=7;
  +       npZeroWidth,   // ntZEROWIDTH=8;
  +       npZeroWidth,   // ntLOOKBEHINDNEGATIVE=9;
  +       npZeroWidth,   // ntLOOKBEHINDPOSITIVE=10;
  +       npZeroWidth,   // ntLOOKAHEADNEGATIVE=11;
  +       npZeroWidth,   // ntLOOKAHEADPOSITIVE=12;
  +       npZeroWidth,   // ntBACKREFERENCE=13;
  +       npZeroWidth);  // ntBACKREFERENCEIGNORECASE=14;
   
         FLREInitialized:longbool=false;
   
  
positive.code: {$endif}
       if assigned(Node) and ((Argument<>0) or (NodeStack.IndexOf(Node)<0)) then begin
        case Node^.NodeType of
         ntNOP:begin
         end;
         ntALT:begin
          case Argument of
           0:begin
  
negative.code:       sskMax=4*3;
  
        // Node types
        ntALT=0;
        ntCAT=1;
        ntCHAR=2;
  