Перейти к основному содержимому
Версия: 4.x

Заголовок модуля

В начале каждого модуля находится заголовок.

Синтаксис

MODULE name;
[REQUIRE moduleName1, ..., moduleNameN;]
[PRIORITY namespaceName1, ..., namespaceNameM;]
[NAMESPACE namespaceName;]

Описание

Заголовок модуля может состоять из четырех специальных инструкций, следующих в определенном порядке:

Инструкция MODULE задает имя модуля и является обязательной. Все модули в рамках одного проекта должны иметь уникальные имена.

Инструкция REQUIRE задает список модулей, от которых зависит текущий модуль. Если инструкция REQUIRE отсутствует, то это эквивалентно зависимости только от модуля System.

Инструкция PRIORITY задает список дополнительных пространств имен, которые будут иметь приоритет при поиске элементов системы.

Инструкция NAMESPACE задает пространство имен модуля.

Параметры

  • name

    Имя модуля. Простой идентификатор. Имена модулей не могут содержать символ подчеркивания.

  • moduleName1, ..., moduleNameN

    Список имен модулей, от которых зависит текущий модуль. Каждое имя является простым идентификатором.

  • namespaceName1, ..., namespaceNameM

    Список имен пространств имен. Каждое имя является простым идентификатором.

  • namespaceName

    Имя пространства имен модуля. Простой идентификатор, который не может содержать символ подчеркивания. Если инструкция NAMESPACE не используется в заголовке, то имя пространства имен текущего модуля будет равно имени модуля.

Примеры

MODULE EmployeeExample;     // Задаем имя модуля

REQUIRE System, Utils; // Перечисляем модули, от которых зависит модуль Employee
NAMESPACE Employee; // Задаем пространство имен

CLASS Employee 'Сотрудник'; // Создаем класс
CLASS Position 'Должность'; // Создаем еще один класс

employeePosition(employee) = DATA Position (Employee); // Создаем свойство