Edimburgo IMP - Edinburgh IMP

Edimburgo IMP
Paradigmas Processual , imperativo , estruturado
Família ALGOL
Projetado por Bratley, Whitfield, MM Barritt, David Rees, Peter D. Schofield, Roderick McLeod, Hamish Dewar, Peter D. Stephens, Peter Robertson
Desenvolvedor Universidade de Edimburgo
Apareceu pela primeira vez 1966 ; 55 anos atrás ( 1966 )
Disciplina de digitação Estático , forte
Escopo Lexical
Linguagem de implementação Atlas Autocode , IMP
Plataforma Inglês elétrico KDF9 ,
ICL System 4 , UNIVAC 1108 , IBM System / 360 , DEC PDP-9 , DEC PDP-15 , CTL Modular One, x86
SO BOS / 360 , DOS , Windows , Linux
Implementações principais
Edimburgo IMP
Dialetos
IMP77, IMP80
Influenciado por
ALGOL 60 , Atlas Autocode

O IMP de Edimburgo é um desenvolvimento do Atlas Autocode , inicialmente desenvolvido por volta de 1966-1969 na Universidade de Edimburgo , na Escócia . É uma linguagem de programação de propósito geral muito usada para programação de sistemas .

Expressivamente, IMP é muito semelhante ao ALGOL e inclui toda a estrutura de bloco do estilo ALGOL , palavras reservadas ( palavras- chave) e tipos de dados , como matrizes e registros . Ele adiciona às linguagens de estilo ALGOL um tipo de string (uma matriz de caracteres, embora estes tenham um tamanho pré-declarado) e operadores integrados para manipulação de string e tratamento de caracteres.

O IMP fornece controle significativo sobre o mapeamento de armazenamento de dados, além de comandos para endereçamento dentro de partes de palavras. A maioria dos compiladores IMP oferece verificações de tempo de execução geradas pelo compilador e um recurso de rastreamento de pilha (backtrace) por padrão, mesmo em código de produção. IMP permite instruções em linguagem de máquina assembler embutidas no código-fonte .

Os primeiros compiladores IMP foram desenvolvidos para os computadores elétricos ingleses KDF9 , ICL System 4 , UNIVAC 1108 , IBM System / 360 , DEC PDP-9 , DEC PDP-15 e CTL Modular One. IMP foi usado para implementar o sistema operacional Edinburgh Multiple Access System (EMAS) , e um compilador foi escrito para a série ICL 2900 para permitir a portabilidade do EMAS para essa plataforma . Anos depois, uma versão do IMP chamada IMP77 foi desenvolvida por Peter Robertson no departamento de Ciência da Computação em Edimburgo, que era um compilador portátil que trouxe o IMP para ainda mais plataformas. Em 2002, a linguagem IMP77 foi ressuscitada pelo Projeto de História do Computador de Edimburgo para hardware Intel x86 executando DOS , Windows e Linux , e está mais uma vez em uso por graduados e expatriados de Edimburgo.

O IMP e IMP77 divergentes foram posteriormente consolidados em uma linguagem com a introdução do padrão IMP80, apoiado por implementações do Centro Regional de Computação de Edimburgo. O IMP80 também foi portado para várias plataformas, incluindo Intel, e estava ativamente em uso na década de 1990.

O IMP de Edimburgo não está relacionado à linguagem de programação extensível de sintaxe posterior do IMP desenvolvida por Edgar T. Irons , para o CDC 6600 , que foi a principal linguagem usada pela Agência de Segurança Nacional (NSA) por muitos anos.

Veja também

Origens

Referências

Barritt, MM; et al. (Julho de 1970). Manual de linguagem IMP de Edimburgo . Universidade de Edimburgo, Centro de Computação Regional de Edimburgo.