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

CORAL , сокращение от Computer On-line Real-time Applications Language, - это язык программирования, первоначально разработанный в 1964 году в Royal Radar Establishment (RRE), Малверн, Вустершир , Соединенное Королевство. [1] R изначально означал «радар», а не «в реальном времени». [2] Это было главным образом под влиянием бодрый , и , таким образом алгол , но не является подмножеством либо.

Наиболее известная версия CORAL 66 была впоследствии разработана И.Ф. Карри и М. Гриффитсом под эгидой Межведомственного комитета по компьютерным приложениям (IECCA). Его официальное определение, отредактированное Вудвордом , Уэтероллом и Горманом, было впервые опубликовано в 1970 году [3].

В 1971 году CORAL был выбран Министерством обороны в качестве языка для будущих военных приложений, и для поддержки этого была введена программа стандартизации, чтобы компиляторы CORAL соответствовали спецификациям. Позднее этот процесс был принят Министерством обороны США при определении Ada .

Обзор [ править ]

Coral 66 - это язык программирования общего назначения, основанный на ALGOL 60 , с некоторыми функциями из Coral 64, JOVIAL и Fortran . Он включает типы структурированных записей (как в Паскале ) и поддерживает упаковку данных в ограниченное хранилище (также как в Паскале). Как и Edinburgh IMP, он поддерживает встроенный (встроенный) язык ассемблера , а также предлагает хорошую проверку и диагностику во время выполнения . Он разработан для вычислений в реальном времени и встроенных системных приложений, а также для использования на компьютерах с ограниченной вычислительной мощностью, в том числе ограниченнымиарифметика с фиксированной точкой и без поддержки динамического распределения памяти.

Этот язык был межсервисным стандартом для британского военного программирования [ необходима цитата ], а также широко применялся в гражданских целях в британской индустрии управления и автоматизации. С 1971 года он использовался для написания программного обеспечения для компьютеров Ferranti [4] и General Electric Company (GEC). Существуют также реализации для платформ Interdata 8/32, PDP-11 , VAX и Alpha и серверов HPE Integrity ; для Honeywell и для Computer Technology Limited (CTL, позже ITL) Modular-1 ; [5] и дляSPARC под управлением Solaris , а Intel под управлением Linux .

Королева Елизавета II отправила первое электронное письмо от главы государства из Королевского агентства связи и радиолокации через ARPANET 26 марта 1976 года. Сообщение гласило: «Это сообщение для всех пользователей ARPANET объявляет о доступности в ARPANET компилятора Coral 66, предоставленного компанией. ГЭК 4080 компьютера в Королевских сигналах и Radar истеблишмент, Malvern, Англия, ... Coral 66 является стандартным в режиме реального время языка высокого уровня , принятый Министерством обороны «. [6] [7]

Поскольку Coral был нацелен на выполнение разнообразных задач в реальном времени, а не на обработку общих офисных данных, не существовало стандартизированного эквивалента библиотеки stdio . IECCA рекомендовал примитивный пакет ввода / вывода (I / O) для сопровождения любого компилятора (в документе под названием « Ввод / вывод символьных данных в служебных программах Coral 66» ). Большинство разработчиков избежали этого, создав интерфейсы Coral для существующих библиотек Fortran, а затем и C.

Наиболее значительным вкладом CORAL в вычисления, возможно, было усиление контроля качества в коммерческих компиляторах . [5] Чтобы компилятор CORAL был одобрен IECCA и, таким образом, позволял продавать компилятор как компилятор CORAL 66, компилятор-кандидат должен был скомпилировать и выполнить стандартный набор из 25 тестовых программ и 6 тестовых программ. Этот процесс был частью процесса утверждения Британского стандарта (BS) 5905. Эта методология была соблюдена и позже адаптирована Министерством обороны США для сертификации компиляторов Ada .

Исходный код компилятора Coral 66 (написанный на BCPL ) был восстановлен, и документ Официального определения Coral 66 от Ее Величества Канцелярии (HMSO) был отсканирован; Патентное бюро Министерства обороны выдало лицензию на проект Edinburgh Computer History, позволяющую им размещать в Интернете как код, так и справочник по языку для некоммерческого использования.

Варианты [ править ]

Вариант Coral 66 под названием PO-CORAL был разработан в конце 1970-х - начале 1980-х годов Главным почтовым управлением Великобритании (GPO) вместе с GEC , STC и Plessey для использования на управляющих компьютерах цифровой телефонной станции System X. Позднее он был переименован в BT-CORAL, когда British Telecom отделилась от почтового отделения. Уникальными особенностями этого языка были акцент на выполнение в реальном времени, обработка сообщений, ограничение на выполнение операторов между ожиданием ввода и запрет на рекурсию для устранения необходимости в стеке . [ необходима цитата ]

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

  1. ^ FM1600B Микросхема компьютера Ferranti Digital Systems (PDF) . Бракнелл, Беркшир, Великобритания: Ferranti Limited , Департамент цифровых систем. Октябрь 1968 года [сентябрь 1968 года]. Перечислите DSD 68/6. Архивировано (PDF) из оригинала 19 мая 2020 года . Дата обращения 19 мая 2020 .
  2. ^ Гоф, Джек (1993). Наблюдая за небом: история наземных радаров для противовоздушной обороны Соединенного Королевства Королевских ВВС с 1946 по 1975 год . HMSO. п. 264. ISBN 978-0-11-772723-6.
  3. ^ Вудворд, Филип М. (1970). Официальное определение CORAL 66 . Канцелярия Ее Величества (HMSO). С. vii + 58. ISBN 0-11-470221-7.
  4. Перейти ↑ Gorman, B (июнь 1978). Компилятор Coral 66 для компьютера Ferranti ARGUS 500 (Отчет). Королевские сигналы и радиолокационная станция. Техническая нота 799 . Проверено 17 января 2018 .
  5. ^ a b «Четкий язык может помочь европейским компьютерам» . Новый ученый . 30 ноября 1972 г. с. 513 . Проверено 8 апреля 2019 .
  6. ^ Metz, Кейд (25 декабря 2012). «Как королева Англии всех обыграла в Интернете» . Проводной . ISSN 1059-1028 . Дата обращения 9 января 2020 . 
  7. Слева, Сара (13 марта 2002 г.). «Хронология электронной почты» . Хранитель . ISSN 0261-3077 . Дата обращения 9 января 2020 . 

Внешние ссылки [ править ]

  • Программа тестирования CORAL 66, извлеченная из отчета Test Responder
  • Тесты CORAL 66
  • Компилятор OpenVMS CORAL 66 для серверов HPE Integrity, машин Alpha (AXP) и VAX (коммерческая рабочая система CORAL 66)
  • BS5905 CORAL 66 Стандартный
  • DEF STAN 05-47
  • Библиотека сопряжения PDP-11 CORAL / ASM
  • Скрипт редактора ECCE для перевода CORAL 66 в Edinburgh IMP