52
8.3. Модул-само-описание (interface only unit)
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  >  >>

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