Парадигмы | Процедурные , императивные , структурированные |
---|---|
Семья | АЛГОЛ |
Разработано | Брэтли, Уитфилд, М. М. Баррит, Дэвид Рис, Питер Д. Шофилд, Родерик МакЛеод, Хэмиш Дьюар, Питер Д. Стивенс, Питер Робертсон |
Разработчик | Эдинбургский университет |
Впервые появился | 1966 |
Печатная дисциплина | Статичный , сильный |
Сфера | Лексический |
Язык реализации | Атлас Автокод , IMP |
Платформа | Английский Electric KDF9 , ICL System 4 , UNIVAC 1108 , IBM System / 360 , DEC PDP-9 , DEC PDP-15 , CTL Modular One, x86 |
Операционные системы | BOS / 360 , DOS , Windows , Linux |
Основные реализации | |
Эдинбург IMP | |
Диалекты | |
IMP77, IMP80 | |
Под влиянием | |
АЛГОЛ 60 , Автокод Атласа |
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 . Эдинбургский университет, Эдинбургский региональный вычислительный центр.