Jump to content

IMP (язык программирования)

(Перенаправлено с языка программирования IMP )
ИМП
Парадигмы Мультипарадигмальность : процедурная , императивная , структурированная , расширяемая.
Семья АЛГОЛ
Разработано Эдгар Т. Айронс
Разработчик Агентство национальной безопасности
Впервые появился 1965 год ; 59 лет назад ( 1965 )
Стабильная версия
IMP72 / 1972 ; 52 года назад ( 1972 )
Дисциплина набора текста Статический , сильный
Объем Лексический
Язык реализации АЛГОЛ 60
Платформа CDC 6600 , Крей , ПДП-10 , ПДП-11
ТЫ COS , ОБЛАСТЬ применения , TOPS-10 , Unix и другие.
Лицензия Собственный
Основные реализации
ИМП65, ИМП70, ИМП72
Под влиянием
АЛГОЛ 60

IMP — это ранний язык системного программирования , разработанный Эдгаром Т. Айронсом в конце 1960-х — начале 1970-х годов в Агентстве национальной безопасности (АНБ). В отличие от большинства других системных языков, IMP поддерживает синтаксисом расширяемым программирование с .

Несмотря на то, что его создатель называет этот язык «основанным на АЛГОЛЕ ». [ нужна ссылка ] , IMP исключает многие определяющие особенности этого языка, но поддерживает одну, очень не похожую на Алгол: расширяемость синтаксиса.

Компилятор с 1967 года . IMP существовал еще в 1965 году и использовался для программирования системы разделения времени CDC 6600 , которая использовалась в Институте оборонного анализа Хотя компилятор медленнее, чем сопоставимые компиляторы для нерасширяемых языков, он использовался для практической производственной работы.

Компиляторы IMP были разработаны для компьютеров CDC 6600 , Cray , PDP-10 и PDP-11 . Важными версиями IMP были IMP65, IMP70 и IMP72.

Расширяемый синтаксис в IMP72

[ редактировать ]

Будучи языком программирования с расширяемым синтаксисом, IMP позволяет программисту расширять свой синтаксис, хотя никаких специальных средств для добавления к нему новых типов данных или структур не предусмотрено. Для достижения расширяемости синтаксиса IMP использует мощный алгоритм синтаксического анализа, основанный на синтаксическом графе и нескольких матрицах связности. Программист может добавить формы Бэкуса – Наура в граф новые постановки (БНФ).

Синтаксис IMP72 расширяется посредством операторов расширенного синтаксиса BNF , включенных в исходный код программы. Механизм настолько мощный, что позволил реализовать язык сам по себе, т. е. с помощью исходного файла IMP72, полностью состоящего из синтаксических операторов, который был введен на вход тривиальному компилятору, который изначально был способен транслировать простейший случай синтаксического оператора. . Существует также простая форма синтаксического оператора, которая выглядит как макрос для обычного пользователя .

По сути, оператор синтаксиса представляет собой расширенную продукцию BNF со связанной семантикой , добавленной справа:

 <class> ::= syntax-part ::= semantic-part

Например, чтобы добавить конструкцию, описанную следующим BNF:

 <EXP> ::= INCREMENT <VBL>

с семантикой, которая INCREMENT V следует перевести на V ← V + 1программисту нужно будет только вставить следующий оператор IMP :

 <EXP> ::= INCREMENT <VBL,A> ::= "A←A+1"

Семантическая часть также может содержать вызовы семантических подпрограмм , как в следующем синтаксическом операторе:

 <ATOM> ::= ABS ( <ATOM,A> ) ::= DEWOP(214B,AREG1(1,13),A)

Семантическая часть этого оператора состоит из вызова семантической процедуры DEWOP. Аргументы — восьмеричная константа. 214B, вызов семантической процедуры AREG1(1,13), и A, который является объектом на вершине стека в момент вызова этого производства. DEWOP - это семантическая процедура, которая соответственно принимает в качестве аргументов код операции машинного языка PDP-10 , объект регистра и любой другой объект и создает объект, значение которого является результатом выполнения назначенной машинной инструкции, используя в качестве поля адреса объект, который его последний аргумент. В этом примере код операции 214B обозначает Load Magnitude инструкции, и, таким образом, результатом приведенного выше синтаксического оператора будет компиляция кода для вычисления абсолютного значения A.

Фольклорная операционная система

[ редактировать ]

IMP был языком, используемым в собственной разделения времени операционной системе АНБ под названием Folklore . [ 1 ]

См. также

[ редактировать ]
  1. ^ Коттер, Джордж. «Высокопроизводительные вычисления в Агентстве национальной безопасности» . Границы суперкомпьютеров II . Издательство Калифорнийского университета . Проверено 25 мая 2012 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: cb33dbf38b6c4074a3b0c4cfb24dcef7__1674948060
URL1:https://arc.ask3.ru/arc/aa/cb/f7/cb33dbf38b6c4074a3b0c4cfb24dcef7.html
Заголовок, (Title) документа по адресу, URL1:
IMP (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)