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

Edinburgh IMP - это разработка Atlas Autocode , первоначально разработанная примерно в 1966-1969 годах в Эдинбургском университете , Шотландия . Это язык программирования общего назначения, который активно использовался для системного программирования .

Выразительно, IMP очень похож на ALGOL и включает всю структуру блоков в стиле ALGOL , зарезервированные слова (ключевые слова) и типы данных, такие как массивы и записи . Он добавляет к языкам в стиле АЛГОЛ строковый тип (массив символов, хотя они имеют заранее объявленный размер) и встроенные операторы для обработки строк и обработки символов.

IMP обеспечивает значительный контроль над отображением данных в хранилище, а также команды для адресации в частях слов. Большинство компиляторов IMP по умолчанию предлагают сгенерированные компилятором проверки времени выполнения и средство трассировки стека (backtrace), даже в производственном коде. IMP допускает встроенные инструкции машинного языка ассемблера в исходный код .

Ранние компиляторы IMP были разработаны для компьютеров English Electric KDF9 , ICL System 4 , UNIVAC 1108 , IBM System / 360 , DEC PDP-9 , DEC PDP-15 и CTL Modular One. IMP использовался для реализации операционной системы Edinburgh Multiple Access System (EMAS) , а для серии ICL 2900 был написан компилятор, позволяющий переносить EMAS на эту платформу . В последующие годы версия IMP под названием IMP77 была разработана Питером Робертсоном в отделе компьютерных наук в Эдинбурге и представляла собой портативный компьютер.компилятор, который вывел IMP на еще большее количество платформ. В 2002 году язык IMP77 был возрожден Эдинбургским проектом истории компьютеров для оборудования Intel x86, работающего под DOS , Windows и Linux , и снова используется выпускниками Эдинбурга и бывшими специалистами.

Разошедшиеся IMP и IMP77 были позже объединены в один язык с введением стандарта IMP80, поддерживаемого реализациями Эдинбургского регионального компьютерного центра. IMP80 также был перенесен на несколько платформ, включая Intel, и активно использовался в 1990-е годы.

Edinburgh IMP не имеет отношения к более позднему языку программирования с расширяемым синтаксисом IMP, разработанному Эдгаром Т. Айронсом для CDC 6600 , который был основным языком, используемым Агентством национальной безопасности (NSA) в течение многих лет.

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

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

Источники [ править ]

  • «Early IMP Programme (первая в мире известная самовоспроизводящаяся программа)» .
  • «Компилятор IMP77: Intel (Windows, Linux)» . Архивировано из оригинала на 2005-04-07 . Проверено 5 мая 2020 .
  • Маклеод, Родерик (1974). «Эдинбургское языковое руководство IMP, второе издание, сканирование» .
  • Робертсон, Питер С. (декабрь 1977 г.). «Язык IMP77: Справочное руководство (измененный ключ в 2003 г.)» (PDF) . Эдинбургский проект компьютерной истории . Эдинбургский университет. Архивировано из оригинала (PDF) на 2005-05-29.( Версия ASCII )
  • «Использование Imp77» .
  • «Производство оптимизированного машинного кода для языков высокого уровня с использованием машинно-независимых промежуточных кодов» .
  • «Рабочие заметки I-Code V1.3» . Архивировано из оригинала на 2004-12-16.
  • «Руководство пользователя IMP11» .
  • Фарвис, Кейт М. (июнь 1978 г.). «IMP на DECsystem-10/20: Руководство пользователя (Руководство по библиотеке)» .
  • Стивенс, Фелисити; Мурисон, Джон. «Эдинбургское языковое руководство IMP80» .
  • Братли; Рис; Шофилд; Уитфилд (1965). «Источник первого в истории компилятора IMP; для English Electric KDF9» .
  • Дьюар, Хэмиш. «Компилятор IMP для PDP9 / PDP15 (исходный код)» .
  • «Порт Windows для IMP15 (генерирует автономные файлы .exe)» .
  • Дьюар, Хэмиш Заметки о. «Вывод компилятора IMP9» .
  • Рис, Дэвид. «Компилятор Skimp MkII (используется в классе компиляторов 3-го года в Эдинбургском университете)» . Архивировано из оригинала на 2007-09-29.
  • «Компилятор IMP для PDP11, загруженный через Skimp (исходный код)» .
  • «Исходный код первого компилятора IMP, полностью написанный на IMP» . 1970 г.
  • Дьюар, Хэмиш. «Исходный код компилятора IMP для платформы 68000» . Архивировано из оригинала на 2003-11-27.
  • Робертсон, Питер. «Исходники компиляторов Imp77 для нескольких платформ» .
  • Стивенс, Питер Д. «Исходный код компилятора Imp80 для Intel» .
  • Шофилд, Питер Д. «Заметки по программированию IMP» .
  • Стивенс, Питер Д. "Язык и компилятор IMP (выдержки)" . Архивировано из оригинала на 2006-09-24.
  • Стивенс, Питер Д. «IMP80: Историческое введение» . Архивировано из оригинала на 2004-12-07.
  • Мерисон, Джон М. «Различия между ERCC IMP на ICL 4/75 и IMP80 на ICL2900» .

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

Барритт, ММ; и другие. (Июль 1970 г.). Эдинбургское языковое руководство IMP . Эдинбургский университет, Эдинбургский региональный вычислительный центр.