56
8.3. Модуль-только-описание (interface only unit)
return(IsEmpty);
end { empty };
begin { инициализация модуля STACK }
writeln('Начало инициализации модуля STACK');
index:= 0; IsFull:= false; IsEmpty:= true;
writeln('Конец инициализации модуля STACK');
EXIT:
writeln('Конец работы модуля STACK');
end { Stack }.
8.3. Модуль-только-описание (interface only unit)
Иногда нет необходимости в том, чтобы модуль имел реализационную часть.
Типичным примером является модуль, который содержит только описания типов. В
таком случае можно создать пустую реализационную часть. Единственная проблема
состоит в том, что хотя и пустая, на ее создание, связывание и сохранение уходит время
и память (оперативная и внешняя). Чтобы не делать этих лишних затрат времени и
памяти, модуль можно описать как модуль-только-описание (без реализационной
части). Синтаксическое описание модуля-только-описания отличается от
синтаксического описания обычного модуля только тем, что в нем не присутствует
реализационная часть (участок с IMPLEMENTATION до END). При создании программы,
состоящей из нескольких модулей, удобнее будет все используемые в программе типы
описать в одном модуле-только-описании. Таким является, например, модуль UniLEX с
дистрибутивного дискета.
В модуле-только-описании можно декларировать типы, простые константы (без
символьных строк), процедуры или функции, описание которых дается при помощи
директивы CODE. Не разрешается декларирование переменных или символьных
констант.
Следует пример модуля-только-описания, в котором даются описания типов дня
недели, цвета и цифры:
unit MISC; interface
type DayOfWeek = (Sunday, Monday, Tuesday, Wednesday,
Thursday, Friday, Saturday);
 color = (Black, Blue, Green, Cyan,
Red, Magenta, Brown, LightGray,
DarkGray, LightBlue, LightGreen, LightCyan,
LightRed, LightMagenta, Yellow, White);
 CharDigit = '0' .. '9';
 IntDigit = 0 .. 9;
end { MISC }.
8.4. Изпользование модулей
Использование модулей программами или другими модулями делается при
помощи клаузы USES. Зарезервированное слово USES предшествует списку
используемых модулей.
UsesClause =
{ 'uses' IdentList';' }.
<<  <  GO  >  >>

Вернуться к началу сайта