anchor.diff:         end;
          if (SourcePosition<=SourceLength) and (Source[SourcePosition]='}') then begin
           inc(SourcePosition);
  -        result:=NewNode(ntEXACT,result,nil);
  +        result:=NewNode(ntEXACT,result,nil,nil,0);
           if (SourcePosition<=SourceLength) and (Source[SourcePosition]='?') then begin
            inc(SourcePosition);
            result^.Value:=1;
  
positive.code:       end;
       end;
       '.':begin
        result:=NewNode(ntDOT,nil,nil);
        inc(SourcePosition);
       end;
       '^':begin
        result:=NewNode(ntBOL,nil,nil);
        inc(SourcePosition);
       end;
       '$':begin
        result:=NewNode(ntEOL,nil,nil);
        inc(SourcePosition);
       end;
       '[':begin
  
negative.code:       end else begin
         Value:=CountParens;
         inc(CountParens);
         result:=NewNode(ntPAREN,ParseDisjunction,nil,nil,0);
         result^.Value:=Value;
        end;
        if (SourcePosition<=SourceLength) and (Source[SourcePosition]=')') then begin
  