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