Математическая энциклопедия - пл/i
Связанные словари
Пл/i
универсальный алгоритмический язык (сокращение от Programming Language One), разработанный в 1963-64 фирмой по производству вычислительных машин ИБМ (International Business Machines). В языке ПЛ/I нашли свое отражение как опыт предшествующих ему языков алгол, фортран, кобол, так и многие новые идеи программирования, появившиеся к моменту создания ПЛ/I. На язык также оказали заметное влияние особенности вычислительных машин фирмы ИБМ и их операционной системы. ПЛ/I устроен таким образом, чтобы из него можно было выделять подмножества, удовлетворяющие нуждам конкретного приложения. Программа на ПЛ/I составляется из независимо транслируемых модулей, называемых внешними процедурами, к-рые имеют алголоподобную блочную структуру и включают процедуры (возможно, многовходовые и рекурсивные) и блоки.
Наибольшее значение для диапазона применения ПЛ/I имеет разнообразие типов данных. Язык имеет дело с данными арифметическими (действительными и комплексными, с фиксированной и плавающей запятой, двоичными и десятичными), строковыми (литерными и битовыми), данными с шаблоном (аналогичными шаблонам в коболе) и данными для управления программой (метка передачи управления, вход, указатель, файл, ветвь и событие).
Язык ПЛ/I обеспечивает возможность объединения данных в агрегаты массивы и структуры. Массивы представляют собой упорядоченный набор однородных элементов (скаляров или структур). Структурами в ПЛ/I наз. иерархически упорядоченный набор элементов, каждый из к-рых имеет свое имя и может иметь свой тип данных и организацию.
Правила вычисления выражений позволяют вырабатывать произвольные значения. В случае несоответствия типов данных при их вычислении осуществляется автоматич. преобразование к типу, требуемому операциями или конкретным контекстом.
Существенной особенностью ПЛ/I являются правила умолчания, позволяющие программисту указывать, напр., не все свойства данных, не все компоненты операторов, не все параметры встроенных функций. То, что не указано явно программистом, понимается нек-рым заранее определенным образом или же исходя из контекста.
ПЛ/I обладает развитыми средствами управления работой с памятью. Эти средства позволяют программисту самому определять момент размещения переменных в памяти, объем требуемой памяти, скорость выборки элементов данных, повторно использовать уже выделенную память под другим именем и, возможно, с другой интерпретацией содержащихся в ней значений без переразмещения. Память может быть выделена статически (до исполнения программы) или динамически (при входе в блок или при исполнении оператора размещения). Выделенная для нек-рой переменной память может быть организована по типу стека с соответствующими правилами доступа или может быть связана с нек-рым указателем.
Наряду с обычными операторами присваивания, перехода, итеративного исполнения, вызова процедур, условными операторами, ПЛ/I включает средства для синхронизации параллельно исполняемых процедур, для исполнения нек-рых операторов во время компиляции, а также для выполнения нек-рых действий (системных или определенных программистом) при возникновении ситуаций (стандартных или определенных программистом), вызывающих прерывание при исполнении программы. В ПЛ/I представлены разнообразные средства для обмена данными с внешними устройствами (посредством записей, посимвольно и с редактированием). В язык ПЛ/I встроено большое количество стандартных функций, к-рые существенно облегчают программирование.
Стандарт ПЛ/I, опубликованный в 1976, дает более формальную и точную спецификацию языка, обобщает понятие типа и правила вычисления выражений и вычисляемых функциями значений. В то же время в стандарт языка не включены средства для параллельного исполнения и средства организации вычислений в период трансляции.
Лит.:[1] Универсальный язык программирования PL/1, пер. с англ., М., 1968; [2] Скотт Р., Сондак Н., ПЛ/1 для программистов, пер. с англ., М., 1977; [3] Программирование на ПЛ/1 ОС ЕС, М., 1979; [4] Бухтияров A.M., Фролов Г. Д., Олюнин В. Ю., Сборник задач по программированию на языке ПЛ/1, М., 1978; [5] American National Standard programming language PL/1, ANSI, X 3.53-1976. Л. A. Kopнeвa.
Математическая энциклопедия. — М.: Советская энциклопедия
И. М. Виноградов
1977—1985