Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Скачиваний:
30
Добавлен:
04.01.2020
Размер:
2.97 Mб
Скачать

7.3.2 Модули

Основной программной конструкцией в языке СHlLL является модуль, ограниченный скобками MODULE – END. В отношении модуля также действует общее правило: описанные в нем объекты обозримы только внутри него. Однако именно в программную конструкцию модуля включены средства, позволяющие нарушить это общее правило. Эти средства носят название интерфейса модуля. Они позволяют четко управлять как обозримостью внешних объектов внутри модуля, так и возможностью обозримости внутренних (локальных) объектов модуля за его пределами.

В определении модуля можно задать его имя, отделяемое от слова MODULE знаком «:». После слова MODULE следует тело модуля и слово END, закрывающее эту программную единицу и знак «;». Перед «;» можно указать имя завершенного модуля. Тело модуля состоит из двух частей: части, содержащей спецификацию интерфейса и описания локальных объектов программы модуля (операторы определения и описания), и части, содержащей список операторов действия.

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

Интерфейсная часть содержит перечень глобальных имен (описанных вне модуля), обозримых внутри модуля, и перечень локальных имен (внутримодульных), обозримых вне модуля. Глобальные имена, обозримые внутри модуля, задаются оператором включения SEIZE.

Локальные имена, обозримые вне модуля, задаются оператором разрешения GRANT.

Программная конструкция – модуль – является эффективным средством структурирования программ. В модуль следует группировать по возможности все логически связанные объекты. Спецификация интерфейса при организации модуля строго определяет все возможные его связи с внешней средой. Следствием этого является возможность проведения параллельной разработки и модификаций отдельных модулей большой программы, этом конкретная реализация каждого модуля не влияет на связи с внешней средой (спецификация интерфейса должна оставаться неизменной).

7.3.3 Блоки

Другой программной конструкцией языка CHILL является блок. В общем случае блок состоит из списка операторов определений и описаний и списка операторов действия. Все это заключено в операторные скобки BEGIN и END. Блок может иметь конкретное имя перед BEGIN и после END.

При входе в блок создаются все описанные внутри блока объекты данных, т.е. за этими объектами закрепляются области в памяти ЭВМ. После выполнения операторов, входящих в тело блока, происходит выход из блока, при этом память ЭВМ освобождается.

Внутри блока могут быть использованы объекты данных, описанные во внешней по отношению к блоку программной конструкции.

7.3.4 Процедуры

Процедура является дальнейшим развитием концепции программного блока, облегчающим многократное исполнение одинаковой последовательности простейших операторов (подпрограммы).

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

Концепция процедуры состоит в том, что данный блок, описанный всего один раз, рассматривается не как описание последовательности простейших действий, а как одно конкретное действие высокого уровня (как оператор действия), за которым закрепляется имя.

Соседние файлы в папке ЯМСЭ