Edinburgh IMP



Proiectat de: Bratley, Whitfield, M. M. Barritt, David Rees, Peter D. Schofield, Roderick McLeod, Hamish Dewar, Peter D. Stephens, Peter Robertson

Paradigme de programare: Procedural, imperative, structured


Edinburgh IMP este o dezvoltare a Atlas Autocode, dezvoltată inițial în jurul anului 1966-1969 la Universitatea din Edinburgh, Scoția.

Este un limbaj de programare cu scop general, care a fost utilizat puternic pentru programarea sistemelor.

Expresiv, IMP este extrem de asemănător cu Algol și include toată structura blocului în stil Algol, cuvintele rezervate (cuvinte cheie) și tipurile de date precum tablouri și înregistrări.

Se adaugă limbilor în stil Algol un tip de șir (o serie de caractere, deși acestea au o dimensiune predeclarată) și operatori încorporați pentru manipularea șirurilor și manipularea caracterelor.

O diferență semnificativă față de Algol este aceea că IMP nu acceptă parametrii trecuți pe nume, deși susține parametrii trecuți de referință.

IMP oferă un control semnificativ asupra cartografiei de stocare a datelor, plus comenzi pentru abordarea în părți ale cuvintelor.

Majoritatea compilatorilor IMP oferă verificări de rulare generate de compilator și o instalație de urmărire a stivei (backtrace) în mod implicit, chiar și în codul de producție.

IMP permite instrucțiunile de limbă a mașinii de asamblare inline în codul sursă.

Implementarea ERCC a IMP pentru sistemul ICL 4 (cunoscut sub numele de IMP9) a oferit o facilitate macro-bazată pe sintaxă (proiectată de Alan Freeman) care a fost similară cu caracteristicile compilatorului de compilator oferite de predecesorul IMP, Atlas Autocode.

Au fost dezvoltate compilatoare IMP timpurii pentru Electric Electric KDF9, ICL System 4, UNIVAC 1108, IBM System/360, Dec PDP-9, DEC PDP-15 și CTL Modular One Computers.

IMP a fost utilizat pentru a implementa sistemul de operare Edinburgh multiple Access (EMAS) și a fost scris un compilator pentru seria ICL 2900 pentru a permite portarea EMA -urilor pe acea platformă.

În anii de mai târziu, o versiune a IMP nume IMP77 a fost dezvoltată de Peter Robertson în cadrul departamentului de informatică din Edinburgh, care a fost un compilator portabil care a adus IMP și mai multe platforme.

În 2002, limba IMP77 a fost reînviată de Edinburgh Computer History Project pentru Hardware Intel X86 care rulează DOS, Windows și Linux și este din nou utilizat de absolvenții și ex-paturile din Edinburgh.

Ulterior, IMP și IMP77 au fost consolidate într -o singură limbă cu introducerea standardului IMP80, susținută de implementări din Centrul Regional de calculatoare Edinburgh.

IMP80 a fost, de asemenea, portat pe mai multe platforme, inclusiv Intel și a fost utilizat activ în anii 90.

Edinburgh IMP nu are legătură cu limbajul de programare mai târziu IMP sintaxă, dezvoltat de Edgar T.

Irons, pentru CDC 6600, care a fost principalul limbaj folosit de Agenția de Securitate Națională (NSA) timp de mai mulți ani.