anchor.diff:  begin
   end;
   
  +var ccc: cardinal;
  +function current_id: cardinal;
  +begin
  +  inc(ccc);
  +  result := ccc;
  +end;
  +
   procedure TGmrHash.add(const lhs, rhs: string);
   var dumbNode: PGmrNode;
     hashCode: word;
  
positive.code:   hashCode: word;
  begin
    new(dumbNode);
    dumbNode.name := lhs;
    hashCode := hash(lhs);
    dumbNode.next := table[hashCode];
  
negative.code:   PGmrNode = ^RGmrNode;
    AGmrNode = array of PGmrNode;
    RGmrNode = record
      id: cardinal;
      name: string;
      next: PGmrNode;
      rhs : array of PGmrAtom;
  