Cтраница 1
Соответствующий модуль реализации будет содержать полные определения транзакций вводкомпании и вводдетали и, возможно, некоторые локальные объекты и инициирующие операторы. [1]
Подробности объявления OpaqueType содержатся в соответствующем модуле реализации. [2]
Скрытые типы из модуля определений должны быть объявлены в соответствующем модуле реализации. [3]
Естественно, если изменяется модуль определений, то должен перекомпилироваться и соответствующий модуль реализации. [4]
Любая переменная, константа или тип, определенные внутри модуля определений, автоматически становятся частью соответствующего модуля реализации. С другой стороны, объект, импортированный в модуль определений, не становится автоматически доступен внутри соответствующего модуля реализации. Если объект, импортированный в модуль определений, требуется и в соответствующем модуле реализации, он должен быть явно импортирован в оба модуля. [5]
Мы, программисты, могли бы быть удовлетворены модулями определений, содержащими только комментарии, указывающие на сервис, доступный в соответствующем модуле реализации. Все, что мы реально желаем знать, - это как можно использовать сервис модуля реализации. Однако компилятор требует точного определения, какие процедуры, типы, переменные и константы экспортируются. Включение точных определений позволяет компилятору проверить использование экспортируемых объектов. [6]
Скрытое определение типа содержит просто имя типа. Детально скрытый тип должен быть описан в соответствующем модуле реализации. Модуль-клиент, импортирующий скрытый тип, не знает деталей этого типа. Для диапазонов стандартных типов и указателей скрытый экспорт имеет ограничения. На скрытый экспорт диапазонов влияют ограничения реализации. В некоторых реализациях Модулы-2 типы CARDINAL и INTEGER могут скрыто экспортироваться, так как их можно не рассматривать как диапазоны. [7]
Синтаксис определений для констант и переменных показаны на диаграмме 7.2. Определения константы и переменкой идентичны описаниям. Эти описания действуют так, как если бы они были частью описаний внешнего уровня соответствующего модуля реализации. Таким образом, определения констант и переменных в модуле определений не должны повторяться в соответствующем модуле реализации. [8]
Любая переменная, константа или тип, определенные внутри модуля определений, автоматически становятся частью соответствующего модуля реализации. С другой стороны, объект, импортированный в модуль определений, не становится автоматически доступен внутри соответствующего модуля реализации. Если объект, импортированный в модуль определений, требуется и в соответствующем модуле реализации, он должен быть явно импортирован в оба модуля. [9]
Первое правило - раздел определений глобального модуля должен всегда компилироваться перед разделом реализации. Вы должны помнить, что объекты, описанные или импортированные в модуле определений, доступны в соответствующем модуле реализации. [10]
Модуль реализации должен разрабатываться в соответствии с его модулем определений. Константы, переменные и прозрачные типы, объявленные в модуле определений, становятся автоматически доступны в соответствующем модуле реализаций глобального модуля. [11]
В отличие от большинства глобальных модулей эта пара не преследует никакой другой полезной цели, кроме демонстрации, как определенная в модуле определений константа или переменная становится автоматически доступной ( без явного импорта) я соответствующем модуле реализации. [12]
В следующих двух разделах приведены примеры определения процедур. Они демонстрируют законченные примеры полезных модулей определений. Соответствующие модули реализации представлены в следующей главе. [13]
Любая переменная, константа или тип, определенные внутри модуля определений, автоматически становятся частью соответствующего модуля реализации. С другой стороны, объект, импортированный в модуль определений, не становится автоматически доступен внутри соответствующего модуля реализации. Если объект, импортированный в модуль определений, требуется и в соответствующем модуле реализации, он должен быть явно импортирован в оба модуля. [14]
Синтаксис определений для констант и переменных показаны на диаграмме 7.2. Определения константы и переменкой идентичны описаниям. Эти описания действуют так, как если бы они были частью описаний внешнего уровня соответствующего модуля реализации. Таким образом, определения констант и переменных в модуле определений не должны повторяться в соответствующем модуле реализации. [15]