Руководство по Ada (Ada 2022)
10.1 Раздельная компиляция
Единица программы — это пакет, задача, защищённый тип, защищённая процедура входа, обобщённая единица или явно объявленная подпрограмма, отличная от литерала перечисления. Некоторые виды единиц программы могут компилироваться раздельно. В противном случае они могут быть физически вложены в другие единицы программы.
Текст программы может быть передан компилятору в одном или нескольких компиляциях. Каждая компиляция представляет собой последовательность единиц_компиляции. Единица компиляции содержит объявление, тело или переименование единицы программы. Представление компиляции определяется реализацией.
Единица библиотеки — это отдельно компилируемая единица программы, которая является пакетом, подпрограммой или обобщённой единицей. Единицы библиотеки могут иметь другие (логически вложенные) единицы библиотеки в качестве дочерних элементов и могут содержать другие единицы программы, физически вложенные в них. Корневая единица библиотеки вместе со своими дочерними элементами, внуками и т. д. образуют подсистему.
Разрешения реализации
Реализация может наложить определённые реализацией ограничения на компиляции, которые содержат несколько единиц_компиляции.