АЛГОЛ 68C - Википедия - ALGOL 68C
Эта статья может нуждаться в реорганизации для соответствия требованиям Википедии рекомендации по макету.Июль 2016) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Эта статья нужны дополнительные цитаты для проверка.Август 2012 г.) (Узнайте, как и когда удалить этот шаблон сообщения) ( |
Разработчики) | Стивен Борн, Майкл Гай, Эндрю Д. Биррелл, Ян Уокер, Крис Чейни и др. |
---|---|
изначальный выпуск | примерно 1970 |
Стабильный выпуск | 1.3039 / 3 марта 2013 г. |
Написано в | АЛГОЛ 68 |
Операционная система | IBM 360, 370, так далее., мэйнфреймы (или эмуляции) работает MVT или же MVS |
Тип | Компилятор, переводчик |
Интернет сайт | битбакет |
АЛГОЛ 68C является императив компьютерное программирование язык, диалект АЛГОЛ 68, который был разработан Стивен Р. Борн и Майкл Гай программировать Кембриджская система алгебры (КАМАЛ). Начальный компилятор был написан в Princeton Syntax Compiler (PSYCO, Эдгар Т. Айронс), который реализовал Дж. Х. Мэтьюман в Кембридже.
АЛГОЛ 68C позже использовался для ОС CHAOS для безопасность на основе возможностей Компьютер CAP в Кембриджский университет в 1971 году. Другими ранними участниками были Эндрю Д. Биррелл[1] и Ян Уокер.
Последующая работа над компилятором была проведена после того, как Борн покинул Кембриджский университет в 1975 году. Вывоз мусора был добавлен, а база кода все еще работает[требуется разъяснение ] на эмулированном OS / MVT с помощью Геркулес.
Компилятор ALGOL 68C сгенерировал вывод в ZCODE, промежуточный язык на основе регистров, который затем может быть интерпретирован или скомпилирован в собственный исполняемый файл. Эта способность интерпретировать или компилировать ZCODE способствовала переносу Алгола 68C на множество различных вычислительные платформы. Помимо Компьютер CAP, компилятор был перенесен на системы, включая Система разговорного монитора (CMS), ТОП-10, и Зилог Z80.
Популярная культура
Гай и Борн использовали очень раннего предшественника этого компилятора для написания первого Программы Game of Life на PDP-7 с дисплеем DEC 340.[2][3]
Разные Liverpool Software Gazette проблемы подробно описывают реализацию Z80. Компилятору для работы требовалось около 120 КБ памяти; следовательно, 64-килобайтная память Z80 слишком мала для запуска компилятора. Так что программы на ALGOL 68C для Z80 должны были быть скомпилированный от большего Компьютер CAP, или IBM System / 370 универсальный компьютер.
Алгол 68С и Unix
Стивен Борн впоследствии повторно использованный АЛГОЛ 68 с если ~ тогда ~ еще ~ фи
, дело ~ в ~ из ~ esac
и за ~ пока ~ делать ~ od
статьи в общих Unix Оболочка Борна, но с в
синтаксис изменен, из
удалено, и od
заменен на сделано
(чтобы избежать конфликта с od полезность).
После Кембриджа Борн девять лет провел в Bell Labs с Версия 7 Unix (Седьмое издание Unix). Помимо разработки оболочки Bourne, он портировал ALGOL 68C на Unix на DEC. PDP-11 -45 и включил специальную опцию в его Unix отладчик Расширенный отладчик (adb) для получения трассировки стека для программ, написанных на Алголе 68C. Вот выдержка из страниц руководства Unix 7th edition:[4]
ИМЯ adb - debuggerSYNOPSIS adb [-w] [objfil [corfil]] [...] КОМАНДЫ [...] $ модификатор Разные команды. Доступные модификаторы: [...] трассировка стека Алгола 68. Если указан адрес, то он считается адресом текущего кадра (вместо r4). Если задан счетчик, то печатаются только первые кадры счетчика.
Расширения ALGOL 68C к ALGOL 68
Ниже приведены некоторые известные расширения:[5]
- Автоматический op: = для любого оператора, например
*:=
и+:=
ВПЛОТЬ ДО
,ВНИЗ
иДО ТОГО КАК
в предложениях цикла;- оператор смещения (
:=:=
) ANDF
,ORF
иTHEF
синтаксические элементы.- отдельная компиляция -
ENVIRON
пункт иС ПОМОЩЬЮ
пункт - объемы не проверены
- границы в официальных заявителях
КОД
...EDOC
предложение - для встраивания ZCODE
В ENVIRON
и С ПОМОЩЬЮ
статьи
Отдельная компиляция в Алголе 68C выполняется с использованием ENVIRON
и С ПОМОЩЬЮ
статьи. В ENVIRON
сохраняет всю среду в том месте, где она появляется. Отдельный модуль написан начиная с С ПОМОЩЬЮ
предложение эффективно вставляется в первый модуль в точке ENVIRON
появляется пункт.
ENVIRON
и С ПОМОЩЬЮ
полезны для сверху вниз стиль программирования, в отличие от вверх дном стиль подразумевается традиционными механизмами библиотеки.
Эти статьи являются своего рода обратный из #включают найдено в Язык программирования C, или же импорт нашел в Python. Цель ENVIRON
Механизм заключается в том, чтобы позволить исходному тексту программы быть разбитым на части управляемого размера. Необходимо только один раз проанализировать общий исходный файл, в отличие от #включают найдено в Язык программирования C где включаемый файл необходимо проанализировать для каждого исходного файла, который его включает.
Пример ENVIRON
пункт
Файл под названием mylib.a68:
BEGIN INT dim = 3; # константа # INT число: = 120; # переменная # ENVIRON EXAMPLE1; МАТРИЦА РЕЖИМОВ = [dim, dim] REAL; # определение типа # MATRIX m1; число: = ПРИМЕР ОКРУЖАЮЩЕЙ СРЕДЫ2; печать ((число)) КОНЕЦ
Пример С ПОМОЩЬЮ
пункт
Файл под названием usemylib.a68:
ИСПОЛЬЗОВАНИЕ ПРИМЕРА 2 ИЗ "mylib" НАЧАТЬ МАТРИЦУ m2; # только пример # print ((число)); # объявлено в mylib.a68 # print ((2 UPB m1)); # также объявлен в mylib.a68 # ENVIRON EXAMPLE3; # ENVIRON могут быть вложенными # 666END
Ограничения на язык из стандартного АЛГОЛ 68
- Нет ALGOL 68 FLEX и массивов переменной длины
РЕЖИМ СТРОКА
реализовано без FLEX- Параллельное предложение PAR не реализовано
- Нестандартный транспорт
- другие ...
Транслятор-компилятор для ALGOL 68C был доступен для PDP-10, IBM System / 360 и несколько других компьютеров.
Рекомендации
- ^ Биррелл, Эндрю Д. (декабрь 1977 г.). «Системное программирование на языке высокого уровня» (PDF). Диссертация на соискание ученой степени доктора философии. Кембриджский университет. Получено 2007-04-22.
- ^ «Деталь предмета: модель 340 корпорации Digital Equipment». Австралийское общество компьютерных музеев (ACMS). Веб-хостинг AceWare. Получено 2020-04-17.
- ^ Гарднер, Мартин (октябрь 1970 г.). "Фантастические комбинации нового пасьянса Джона Конвея" жизнь"" (PDF). Математические игры. Scientific American. № 223. С. 120–123.
Для таких долгоживущих популяций, как это, Конвей иногда использует компьютер PDP-7 с экраном, на котором он может наблюдать изменения [...] Программа была написана М. Дж. Т. Гаем и С. Р. Борном. Без его помощи было бы трудно сделать некоторые открытия в игре.
- ^ "Модульный ручной браузер: Adb". UnixDev.net. Архивировано из оригинал на 2016-03-03. Получено 2020-04-17.
- ^ Борн, Стивен Р.; Биррелл, Эндрю Д.; Уокер, Ян (1975). Справочное руководство по ALGOL 68C. Компьютерная лаборатория Кембриджского университета.
внешняя ссылка
- Официальный веб-сайт
- Кембриджский АЛГОЛ 68: в историческом реестре компьютерных языков - включает 10+ ссылок на публикации.
- Транспортировка Алгола 68C - П. Дж. Гарднер, Университет Эссекса - март 1977 г. (с 370 до DECsystem-10)
- Запуск ALGOL 68C на MVS - как установить ALGOL 68C на эмулируемую систему MVS