anchor.diff:        FStack.Pop;
       end;
   
  -    Name := '';
  -    for NamePartNode in NamesNode.ChildNodes do
  -    begin
  -      if Name <> '' then
  -        Name := Name + '.';
  -      Name := Name + NamePartNode.Name;
  -    end;
  +    UnitNode := FStack.AddChild(sUNIT);
  +    UnitNode.SetAttribute(sNAME, NodeListToString(NamesNode));
  +    UnitNode.SetPositionAttributes(Position);
     finally
       NamesNode.Free;
     end;
  -
  -  UnitNode := FStack.AddChild(sUNIT);
  -  UnitNode.SetAttribute(sNAME, Name);
  -  UnitNode.SetPositionAttributes(Position);
   end;
   
   procedure TPasSyntaxTreeBuilder.UsesClause;
  
positive.code: 
  procedure TPasSyntaxTreeBuilder.UsedUnitName;
  var
    NamesNode, NamePartNode, UnitNode: TSyntaxNode;
    Name: string;
    Position: TTokenPoint;
  begin
    Position := Lexer.PosXY;
  
negative.code:   RawStatement: TSyntaxNode;
    Node: TSyntaxNode;
    NodeList: TList<TSyntaxNode>;
    I, AssignIdx: Integer;
    Position: TTokenPoint;
  begin
    Position := Lexer.PosXY;
  
    RawStatement := TSyntaxNode.Create('STATEMENT');
    try
  