~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 35376FF0E93D30CFD36AA7492A528F7E__1674948060 ✰
Заголовок документа оригинал.:
✰ IMP (programming language) - Wikipedia ✰
Заголовок документа перевод.:
✰ IMP (язык программирования) — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/IMP_(programming_language) ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/35/7e/35376ff0e93d30cfd36aa7492a528f7e.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/35/7e/35376ff0e93d30cfd36aa7492a528f7e__translat.html ✰
Дата и время сохранения документа:
✰ 02.07.2024 03:15:23 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 29 January 2023, at 02:21 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

IMP (язык программирования) — Википедия Jump to content

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 со связанной семантикой, добавленной справа:

 <  класс  >   ::  =   синтаксическая часть   ::  =   семантическая часть 

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

 <EXP>  ::   =   ПРИРАЩЕНИЕ   <VBL> 

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

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

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

 <  АТОМ  >   ::  =   ABS   (   <  АТОМ  ,  A  >   )   ::  =   DEWOP  (  214  B  ,  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
Номер скриншота №: 35376FF0E93D30CFD36AA7492A528F7E__1674948060
URL1:https://en.wikipedia.org/wiki/IMP_(programming_language)
Заголовок, (Title) документа по адресу, URL1:
IMP (programming language) - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)