Парадигмы | Процедурные , императивные , структурированные |
---|---|
Семья | Вирт АЛГОЛ |
Разработано | Никлаус Вирт , Джозеф В. Уэллс-младший, Эдвин Саттертуэйт-младший |
Разработчик | Стэндфордский Университет |
Впервые появился | 1966 |
Печатная дисциплина | Статичный , сильный |
Сфера | Лексический (статический) |
Язык реализации | ALGOL , затем PL360 |
Платформа | Берроуз B5000 , IBM System / 360 |
Под влиянием | |
АЛГОЛ , проблемно-ориентированный язык исполнительных систем (ESPOL) | |
Под влиянием | |
АЛГОЛ W |
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, который определяет инструкцию по формату и коду операции. Аргументы функции были присвоены последовательно полям в инструкции. Примеры:
определение | Справка | |
---|---|---|
UNPK(10,#F300) | UNPK(3,7,B2,worker) | |
EX(2,#4400) | EX(R1,MVC(0,lines,buffer)) | обратите внимание на вложенную ссылку |
Пример [ править ]
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
- Ассемблер высокого уровня
Заметки [ править ]
- ^ Но не хватает средств для неявной адресации, например,
USING
Ссылки [ править ]
- ↑ Вирт, Никлаус (январь 1968 г.). «PL360, язык программирования для компьютеров 360». Журнал ACM . 15 (1): 34–74. DOI : 10.1145 / 321439.321442 .
- ^ Стэнфордский университет. «Справочное руководство PL 3 6 0» . Проверено 21 октября 2012 года .
Внешние ссылки [ править ]
- Справочное руководство PL360
- Учебник PL360
- PL360 @ Все2