PL/1 является блочно-структурированным языком. То есть структурно программа состоит из блоков операторов. Различают блоки PACKAGE, PROCEDURE и блоки BEGIN. Блоки могут быть вложены или транслироваться отдельно. Приложение на PL/1 содержит один или несколько загрузочных модулей. Загрузочный модуль в свою очередь состоит из одного или нескольких отдельно компилируемых сущностей, называемых компилируемыми единицами. Компилируемой единицей в PL/1 является либо блок PACKAGE либо внешний блок PROCEDURE. Каждый пакет может содержать нуль или несколько процедур.
Любая программа обязательно содержит внешний блок PROCEDURE, который обычно определяют как главную процедуру.
Программа с простейшей структурой представляет собой последовательность операторов s1s2…sk, в которой s1 –оператор-заголовок программы, имеющий вид
labеl: PROCEDURE OPTIONS (MAIN);
sk – оператор конца, имеющий вид
[label1:…] END [label2];
Метка 1 может не использоваться, метка 2 тоже может не использоваться, но в противном случае это должна быть метка, данная главной процедуре.
s2,s3,…,sk-1 – выполняемые и невыполняемые операторы.
Любой блок устанавливает область действия совокупности имен, декларируемых в нем, определяет структуру распределения переменных автоматического класса памяти (создаются при входе в блок, где они объявлены, и уничтожаются при выходе из него), определяет область параметров по умолчанию.
Отправить комментарий