PL360 - Википедия - PL360

PL360 (или PL / 360) - это язык системного программирования разработано Никлаус Вирт и написана Никлаусом Виртом, Джозефом Уэллсом-младшим и Эдвином Саттертуэйтом-младшим для IBM System / 360 компьютер в Стэнфордском университете. Описание PL360 было опубликовано в начале 1968 года, хотя реализация, вероятно, была завершена до того, как Вирт покинул Стэнфорд в 1967 году.[1]

Описание

PL / 360 - это однопроходный компилятор с синтаксисом, аналогичным Алгол который предоставляет средства для указания точных инструкций машинного языка и регистров, подобных язык ассемблера, но также предоставляет функции, обычно встречающиеся в языки высокого уровня, например, сложные арифметические выражения и управляющие структуры. Вирт использовал PL360 для создания Алгол W.

Типы данных:[2]:стр.2–1

  • Байт или символ - один байт.
  • Короткое целое число - 2 байта, интерпретируется как целое число в двоичной системе с дополнением до двух.
  • Целое или логическое число - 4 байта, интерпретируемые как целое число в двоичной системе с дополнительным двоичным кодом.
  • Real - 4 байта, интерпретируется как короткое число с плавающей запятой по основанию 16.
  • Длинное вещественное число - 8 байтов, интерпретируется как длинное число с плавающей запятой по основанию 16.

Регистры могут содержать целые, действительные или длинные вещественные числа.

Отдельные инструкции System / 360 могут быть сгенерированы встроенным образом с использованием «оператора функции» PL360, который определяет инструкцию по формату и коду операции. Аргументы функции были присвоены последовательно полям в инструкции. Примеры:

определениессылка
УНПК (10, # F300)УНПК (3,7, В2, рабочий)
EX (2, # 4400)EX (R1, MVC (0, строки, буфер))обратите внимание на вложенную ссылку

Пример

R0, R1, R2 и FLAG - это заранее объявленные имена.

    НАЧИНАТЬ ЦЕЛОЕ ВЕДРО;         ЕСЛИ ФЛАГ ТОГДА         НАЧИНАТЬ ВЕДРО := R0; R0 := R1; R1 := R2;               R2 := ВЕДРО;         КОНЕЦ ЕЩЕ         НАЧИНАТЬ ВЕДРО := R2; R2 := R1; R1 := R0;              R0 := ВЕДРО;         КОНЕЦ         ПЕРЕЗАГРУЗИТЬ(ФЛАГ);    КОНЕЦ

Реализация

Вирт был в Стэнфорде между 1963 и 1967 годами, в начале которого он разрабатывал свои Эйлер компилятор и интерпретатор, источники которых датированы 1965 годом. Также в 1965 году Стэнфорд обновил свои барабанные Берроуз B5000 на диск B5500.

Поскольку целевой IBM S / 360 (который должен был заменить существующий IBM 7090 ) не устанавливалась до 1967 года, первоначальная реализация PL360 была написана на АЛГОЛе и протестирована на Stanford B5500. После работы компилятор был затем перекодирован в самом PL360, перекомпилирован в системе Burroughs и перемещен как бинарный файл в S / 360. [1]

Примечательно, что B5500 сам запрограммирован на языке высокого уровня, производном от АЛГОЛА (ESPOL ), и PL360 был предназначен для обеспечения сопоставимых возможностей архитектуры мэйнфреймов IBM, хотя в нем отсутствовали основные возможности обоих Ассемблер F и ESPOL. Это намерение в значительной степени игнорировалось, и программисты продолжали использовать реализации IBM макроассемблеры.

Однако в начале 1970-х годов PL360 был расширен, чтобы предоставить больше возможностей, и стал предпочтительным языком программирования для разработки. SPIERS, Стэнфордская система управления базами данных.

Смотрите также

Рекомендации

  1. ^ Вирт, Никлаус (январь 1968 г.). «PL360, язык программирования для компьютеров 360». Журнал ACM. 15 (1): 34–74. Дои:10.1145/321439.321442.
  2. ^ Стэндфордский Университет. "P L 3 6 0 СПРАВОЧНОЕ РУКОВОДСТВО". Получено Двадцать первое октября, 2012.

внешняя ссылка