anchor.diff:              end else begin
                raise EFLRE.Create('Duplicate named group');
               end;
  -            result:=NewNode(ntPAREN,ParseDisjunction,nil,nil,0);
  -            result^.Value:=Value;
  +            GroupIndexIntegerStack.Add(Value);
  +            GroupNameStringStack.Add(Name);
  +            try
  +             result:=NewNode(ntPAREN,ParseDisjunction,nil,nil,Value);
  +            finally
  +             GroupIndexIntegerStack.Delete(GroupIndexIntegerStack.Count-1);
  +             GroupNameStringStack.Delete(GroupNameStringStack.Count-1);
  +            end;
              end;
             end;
             'P':begin
  
positive.code:             end else begin
               raise EFLRE.Create('Duplicate named group');
              end;
              result:=NewNode(ntPAREN,ParseDisjunction,nil,nil,0);
              result^.Value:=Value;
             end else begin
              raise EFLRE.Create('Syntax error');
             end;
  
negative.code:        destructor Destroy; override;
         procedure Clear;
         function Add(Item:longint):longint;
         procedure AddSorted(Item:longint);
         procedure Insert(Index:longint;Item:longint);
         procedure Delete(Index:longint);
         function Remove(Item:longint):longint;
  