CORAL - CORAL

Coral 66
Paradigmas procedimental , imperativo , estruturado
Família ALGOL
Projetado por Philip Woodward , IF Currie, M. Griffiths
Desenvolvedor Estabelecimento do Royal Radar
Apareceu pela primeira vez 1964 ; 56 anos atrás  ( 1964 )
Disciplina de digitação Estático , forte
Escopo Lexical
Linguagem de implementação BCPL
Plataforma CTL Modular-1 , DEC Alpha , GEC , Ferranti , Honeywell , HPE Integrity Servers , Interdata 8/32, PDP-11 , SPARC , VAX , x86
SO VAX / VMS ; BSD Unix , Linux , Solaris
Influenciado por
ALGOL , JOVIAL , Fortran

CORAL , abreviação de Computer On-line Real-time Applications Language, é uma linguagem de programação desenvolvida originalmente em 1964 no Royal Radar Establishment (RRE), Malvern, Worcestershire , no Reino Unido. OR era originalmente para "radar", não "tempo real". Foi influenciado principalmente por JOVIAL e, portanto , ALGOL , mas não é um subconjunto de nenhum deles.

A versão mais conhecida, CORAL 66 , foi subsequentemente desenvolvida por IF Currie e M. Griffiths sob os auspícios do Inter-Establishment Committee for Computer Applications (IECCA). Sua definição oficial, editada por Woodward , Wetherall e Gorman, foi publicada pela primeira vez em 1970.

Em 1971, o CORAL foi selecionado pelo Ministério da Defesa como a linguagem para futuras aplicações militares e, para dar suporte a isso, um programa de padronização foi introduzido para garantir que os compiladores CORAL atendessem às especificações. Este processo foi posteriormente adotado pelo Departamento de Defesa dos Estados Unidos durante a definição de Ada .

Visão geral

Coral 66 é uma linguagem de programação de propósito geral baseada no ALGOL 60 , com alguns recursos do Coral 64, JOVIAL e Fortran . Inclui tipos de registro estruturados (como em Pascal ) e suporta o empacotamento de dados em armazenamento limitado (também como em Pascal). Como Edinburgh IMP permite Inline (embutido) linguagem de montagem , e também oferece um bom tempo de execução verificação e diagnósticos. Ele é projetado para computação em tempo real e aplicativos de sistema embarcado , e para uso em computadores com capacidade de processamento limitada, incluindo aqueles limitados a aritmética de ponto fixo e aqueles sem suporte para alocação dinâmica de armazenamento.

A linguagem era um padrão entre serviços para a programação militar britânica e também foi amplamente adotada para fins civis na indústria britânica de controle e automação. Foi usado para escrever software para computadores da Ferranti e da General Electric Company (GEC) de 1971 em diante. Também existem implementações para as plataformas Interdata 8/32, PDP-11 , VAX e Alpha e HPE Integrity Servers ; para a Honeywell e para a Computer Technology Limited (CTL, posteriormente ITL) Modular-1 ; e para SPARC executando Solaris e Intel executando Linux .

A Rainha Elizabeth II enviou o primeiro e-mail de um chefe de estado do Estabelecimento Real de Sinais e Radar da ARPANET em 26 de março de 1976. A mensagem dizia "Esta mensagem para todos os usuários da ARPANET anuncia a disponibilidade na ARPANET do compilador Coral 66 fornecido por o computador GEC 4080 no Royal Signals and Radar Establishment, Malvern, Inglaterra, ... Coral 66 é a linguagem padrão de alto nível em tempo real adotada pelo Ministério da Defesa . "

Como o Coral era voltado para uma variedade de trabalhos em tempo real, ao invés do processamento geral de dados de escritório, não havia um equivalente padronizado para uma biblioteca stdio . A IECCA recomendou um pacote de entrada / saída (I / O) primitivo para acompanhar qualquer compilador (em um documento intitulado Input / Output of Character data em Coral 66 Utility Programs ). A maioria dos implementadores evitou isso produzindo interfaces Coral para as bibliotecas Fortran e, mais tarde, C existentes .

A contribuição mais significativa da CORAL para a computação pode ter sido a aplicação do controle de qualidade em compiladores comerciais . Para ter um compilador CORAL aprovado pela IECCA, e assim permitir que um compilador fosse comercializado como um compilador CORAL 66, o compilador candidato tinha que compilar e executar um conjunto padrão de 25 programas de teste e 6 programas de benchmark. O processo fazia parte do processo de aprovação do British Standard (BS) 5905. Esta metodologia foi observada e adaptada posteriormente pelo Departamento de Defesa dos Estados Unidos para a certificação de compiladores Ada .

O código-fonte de um compilador Coral 66 (escrito em BCPL ) foi recuperado e o documento Official Definition of Coral 66 do Her Majesty's Stationery Office (HMSO) foi escaneado; o escritório de patentes do Ministério da Defesa emitiu uma licença para o projeto Edinburgh Computer History para permitir que eles coloquem o código e a referência de idioma online para uso não comercial.

Variantes

Uma variante do Coral 66 chamada PO-CORAL foi desenvolvida durante o final dos anos 1970 até o início dos anos 1980 pelo British General Post Office (GPO), juntamente com GEC , STC e Plessey , para uso nos computadores de controle de central telefônica digital System X. Posteriormente, foi renomeado para BT-CORAL quando a British Telecom foi separada dos Correios. Os recursos exclusivos dessa linguagem são o foco na execução em tempo real, processamento de mensagens, limites na execução de instruções entre a espera pela entrada e a proibição de recursão para remover a necessidade de uma pilha .

Referências

links externos