Из Википедии, бесплатной энциклопедии
Перейти к навигации Перейти к поиску

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

Описание [ править ]

PL / 360 представляет собой один проход компилятор с синтаксисом подобного Алгола , который обеспечивает средства для определения точного машинного кода (языка) инструкции и регистров аналогичных [а] на ассемблер , но и предоставляет функцию часто встречается в языках программирования высокого уровня , такие как сложные арифметические выражения и управляющие структуры . Wirth используется ПЛ360 для создания Algol W .

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

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

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

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

Пример [ править ]

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

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

Реализация [ править ]

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

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

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

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

См. Также [ править ]

  • IBM PL / S
  • Ассемблер высокого уровня

Заметки [ править ]

  1. ^ Но не хватает средств для неявной адресации, например,USING

Ссылки [ править ]

  1. Вирт, Никлаус (январь 1968 г.). «PL360, язык программирования для компьютеров 360». Журнал ACM . 15 (1): 34–74. DOI : 10.1145 / 321439.321442 .
  2. ^ Стэнфордский университет. «Справочное руководство PL 3 6 0» . Проверено 21 октября 2012 года .

Внешние ссылки [ править ]

  • Справочное руководство PL360
  • Учебник PL360
  • PL360 @ Все2