Ада - гнатдо c проблема с обработкой субъединиц - PullRequest
2 голосов
/ 27 февраля 2020

Я пытаюсь сгенерировать документацию для моего проекта Ada с помощью инструмента GNATdo c. GNATdo c может генерировать информацию для всех пакетов, кроме тех пакетов, которые помечены как субъединицы (используя отдельный идентификатор). Пример -

package body A is
    x : Integer;
   package B is 
     y : Natural;
   end B;
   package body B is separate;
 end A;
--------------------------------
separate (A)
package body B is
 b1 : Float;
 b2 : Character;
end B; 

Для приведенного выше фрагмента кода GNATdo c не создает информацию документации для содержимого пакета субъединицы (b1, b2), даже если она присутствует в файлах .ali соответствующего родительского файла единица.

Будем весьма благодарны за понимание того, что может быть не так.

1 Ответ

3 голосов
/ 27 февраля 2020

GNATdo c обычно не обрабатывает содержимое корпусов. Однако есть два параметра командной строки, которые могут изменить это поведение в зависимости от ваших потребностей:

Обработка тел для выполнения документации spe c (-b)

По умолчанию GNATdo c не обрабатывает тело пакетов. Этот переключатель позволяет просматривать подпрограммы в корпусах пакетов как запасной вариант для поиска документации. Когда этот переключатель предусмотрен, GNATdo c сначала ищет документацию в спецификации пакета; если документация не найдена в spe c, а затем ищет документацию в теле подпрограммы.

и

Тела документа (-d)

Когда этот параметр передается, GNATdo c обрабатывает тела и извлекает документацию для объектов уровня библиотеки. В выводе HTML GNATdoc генерирует отдельные страницы для документации, извлеченной из тел. Этот ключ несовместим с ключом -b.

...