У програмі може міститися кілька підпрограм, т. Е. Структура програми може бути ускладнена. Однак ці підпрограми можуть розташовуватися на одному рівні вкладеності, тому спочатку має йти опис підпрограми, а потім звернення до неї, якщо тільки не використовується спеціальне випереджаючий опис.
Опис процедури, що містить замість блоку операторів директиву forward, називається випереджаючим описом. В якомусь місці після цього опису за допомогою визначального опису процедура повинна визначатися. Визначальне опис – це опис, в якому використовується той же ідентифікатор процедури, але опущений список формальних параметрів, і в яке включений блок операторів. Опис forward і визначальне опис повинні бути присутніми в одній і тій же частині опису процедури і функції. Між ними можуть описуватися інші процедури і функції, які можуть звертатися до процедури з випереджаючим описом. Таким чином, можлива взаємна рекурсія.
Випереджаючий опис і визначальне опис являють собою повний опис процедури. Процедура вважається описаної за допомогою випереджаючого опису.
Якщо в програмі буде міститися досить багато підпрограм, то програма перестане бути наочною, в ній буде важко орієнтуватися. Щоб уникнути цього деякі підпрограми зберігають у вигляді вихідних файлів на диску, а при необхідності вони підключаються до основної програми на етапі компіляції за допомогою директиви компіляції.
Директива – це спеціальний коментар, який може бути розміщений в будь-якому місці програми, там, де може знаходитися і звичайний коментар. Однак вони різняться тим, що у директиви є спеціальна форма запису: відразу після закриває дужки без пробілу записується знак $, а потім, знову ж без пробілу, вказується директива.
приклад:
1) {$ E +} – емулювати математичний співпроцесор;
2) {$ F +} – формувати далекий тип виклику процедур і функцій;
3) {$ N +} – використовувати математичний співпроцесор;
4) {$ R +} – перевіряти вихід за межі діапазонів.
Деякі ключі компіляції можуть містити параметр, наприклад:
{$ I ім’я файлу} – включити в текст модульна програми названий файл