В интерфейсной секции описываются те константы, типы, пере-
менные, процедуры и функции, которые являются глобальными, то
есть доступными основной программе (программе или модулю, которые
используют данный модуль). Основная программа имеет доступ к этим
элементам, как если бы они были описаны в модуле, являющимся вло-
женным по отношению к данной программе.
интерфейсная секция
│
│ ┌─────────┐
└─>│interfaсe├─┬─────────────────────────────────────────────┬─>
│ │ │ ┌───────────┐^ ^ │ ┌──────────────────┐ ^ │
└─────────┘ └─>│ оператор ├┘ │ ├─>│ раздел описания ├─┤ │
│ uses │ │ │ │ констант │ │ │
└───────────┘ │ │ └──────────────────┘ │ │
│ │ ┌──────────────────┐ │ │
│ ├─>│ раздел описания ├─┤ │
│ │ │ типов переменных │ │ │
│ │ └──────────────────┘ │ │
│ │ ┌──────────────────┐ │ │
│ ├─>│ раздел описания ├─┤ │
│ │ │ переменных │ │ │
│ │ └──────────────────┘ │ │
│ │ ┌──────────────────┐ │ │
│ └─>│раздел заголовков ├─┘ │
│ │процедур и функций│ │
│ └──────────────────┘ │
└───────────────────────────┘
раздел заголовков
процедур и функций
│ ┌─────────┐ ┌───┐
└────┬──>│заголовок├──────────>│ ; ├─┬───────────────────────>
│ │процедуры│ ^ └───┘ │ ┌─────────┐ ┌───┐ ^
│ └─────────┘ │ └─>│директива├──>│ ; ├─┘
│ ┌─────────────────┐ │ │ inline │ └───┘
└─>│заголовок функции├─┘ └─────────┘
└─────────────────┘
В том случае, если процедура или функция является процедурой
или функцией типа inline, в интерфейсной секции содержится только
список заголовков процедур или функций. Модуль процедуры или
функции следует дальше в секции реализации. Заметим, что заголо-
вок процедуры или функции может дублироваться и быть здесь таким
же, как в интерфейсной секции. Вам не нужно задавать здесь список
формальных параметров, но если вы это сделали и если описание в
интерфейсной секции и секции реализации не совпадают, то компиля-
тор во время компиляции выдаст сообщение об ошибке.