~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 174012EB2460615E910EC0A13AB19DE7__1679785860 ✰
Заголовок документа оригинал.:
✰ ALGOL 68C - Wikipedia ✰
Заголовок документа перевод.:
✰ АЛГОЛ 68C — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ALGOL_68C ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/17/e7/174012eb2460615e910ec0a13ab19de7.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/17/e7/174012eb2460615e910ec0a13ab19de7__translat.html ✰
Дата и время сохранения документа:
✰ 02.07.2024 03:12:47 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 26 March 2023, at 02:11 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

АЛГОЛ 68C — Википедия Jump to content

АЛГОЛ 68C

Из Википедии, бесплатной энциклопедии
АЛГОЛ 68 Кембридж
Разработчики) Стивен Борн , Майкл Гай , Эндрю Д. Биррелл, Ян Уокер, Крис Чейни и др.
Начальная версия около 1970 года ; 54 года назад ( 1970 )
Стабильная версия
1,3039 / 3 марта 2013 г .; 11 лет назад ( 03.03.2013 )
Написано в АЛГОЛ 68
Операционная система IBM 360 , 370 и т. д., мэйнфреймы (или их эмуляции), работающие под управлением MVT или MVS.
Тип Составитель , переводчик
Веб-сайт битбакет .org /algol68c /дл

АЛГОЛ 68C императивный компьютерного программирования язык , диалект АЛГОЛ 68 , который был разработан Стивеном Р. Борном и Майклом Гаем для программирования Кембриджской алгебраической системы (CAMAL). Первоначальный компилятор был написан на Princeton Syntax Compiler (PSYCO, Эдгар Т. Айронс ), который был реализован Дж. Х. Мэтьюманом в Кембридже.

АЛГОЛ 68C позже использовался в ОС CHAOS для безопасности, основанного на возможностях, компьютера CAP в Кембриджском университете в 1971 году. Другими ранними участниками были Эндрю Д. Биррелл. [1] и Ян Уокер.

Последующая работа над компилятором была проделана после того, как Борн покинул Кембриджский университет в 1975 году. Была добавлена ​​сборка мусора , и база кода все еще работает. [ нужны разъяснения ] на эмулируемой ОС/MVT с использованием Hercules .

Компилятор ALGOL 68C генерировал выходные данные в ZCODE , промежуточном языке на основе регистров, который затем можно было либо интерпретировать, либо скомпилировать в собственный исполняемый файл. Эта способность интерпретировать или компилировать ZCODE способствовала портированию ALGOL 68C на множество различных вычислительных платформ . Помимо компьютера CAP , компилятор был портирован на системы, включая Conversational Monitor System (CMS), TOPS-10 и Zilog Z80 .

Популярная культура

Очень ранний предшественник этого компилятора использовался Гаем и Борном для написания первых программ Game of Life на PDP-7 с дисплеем DEC 340. [2] [3]

В различных выпусках Liverpool Software Gazette подробно описана реализация Z80. Для работы компилятору требовалось около 120 КБ памяти; следовательно, 64 КБ памяти Z80 на самом деле слишком малы для запуска компилятора. Поэтому программы ALGOL 68C для Z80 пришлось кросс-компилировать с более крупного компьютера CAP или IBM System/370 мэйнфрейма .

Алгол 68C и Unix [ править ]

Стивен Борн впоследствии повторно использовал Алгола 68. алгоритм if ~ then ~ else ~ fi, case ~ in ~ out ~ esac и for ~ while ~ do ~ od предложений в общей оболочке Unix Bourne , но с inсинтаксис изменился, out удалили, и od заменен на done (во избежание конфликта с утилитой od ).

После Кембриджа Борн провёл девять лет в Bell Labs с командой Unix версии 7 (Seventh Edition Unix). Помимо разработки оболочки Борна, он портировал ALGOL 68C в Unix на DEC PDP-11-45 (adb) специальную опцию и включил в свой отладчик Unix Advanced Debugger для получения обратной трассировки стека для программ, написанных на ALGOL 68C. Вот выдержка из страниц руководства Unix 7-го издания: [4]

ИМЯ
       adb — отладчик
 СИНОПСИС
       adb [-w] [объект [корфил]]
 [...]
 КОМАНДЫ
 [...]
        $модификатор
              Разные команды.  Доступные модификаторы
              являются:
              [...]
              обратная трассировка стека ALGOL 68.  Если адрес
                     задано, то это считается адресом
                     текущий кадр (вместо r4).  Если считать
                     даются тогда только первые кадры счета
                     печатаются.
 

Расширения АЛГОЛА 68C для АЛГОЛА 68 [ править ]

Ниже приведена выборка некоторых примечательных расширений: [5]

  • Автоматический op := для любого оператора, например *:= и +:=
  • UPTO, DOWNTO и UNTIL в предложениях цикла;
  • оператор смещения ( :=:=)
  • ANDF, ORF и THEF синтаксические элементы .
  • отдельная компиляция - ENVIRON пункт и USING пункт
  • области не проверены
  • границы в формальных деклараторах
  • CODE ... EDOC предложение - для встраивания ZCODE

The ENVIRON и USING пункты [ править ]

Отдельная компиляция в АЛГОЛе 68C осуществляется с помощью ENVIRON и USINGстатьи. ENVIRONсохраняет всю среду в том месте, где она появляется. Отдельный модуль, написанный начиная с USING предложение фактически вставляется в первый модуль в той точке, где ENVIRON появляется пункт.

ENVIRON и USING полезны для нисходящего стиля программирования, в отличие от восходящего стиля, подразумеваемого традиционными библиотечными механизмами.

своего рода инверсией #include Эти предложения являются в языке программирования C или import в Python . Цель ENVIRONМеханизм заключается в том, чтобы позволить исходному коду программы быть разбитым на части управляемого размера. Общий исходный файл необходимо проанализировать только один раз, в отличие от #include , найденного в языке программирования C , где включаемый файл необходимо анализировать для каждого исходного файла, который его включает.

Пример ENVIRON пункт [ править ]

Файл с именем mylib.a68 :

НАЧИНАТЬ
    ИНТ дим = 3;  # константа #
    INT число:= 120;  # Переменная #
    ОКРУЖАЮЩАЯ СРЕДА ПРИМЕР 1;
    МАТРИЦА РЕЖИМА = [тусклый, тусклый]РЕАЛЬНЫЙ;  # определение типа #
    МАТРИЦА м1;
    число:= ENVIRON EXAMPLE2;
    распечатать((число))
 КОНЕЦ
 

Пример USING пункт [ править ]

Файл с именем usemylib.a68 :

ИСПОЛЬЗОВАНИЕ ПРИМЕРА 2 ИЗ «mylib»
 НАЧИНАТЬ
   МАТРИЦА м2;  # только пример #
   печать((число));  # объявлено в mylib.a68 #
   print((2 УПБ м1));  # также объявлено в mylib.a68 #
   ПРИМЕР ОКРУЖАЮЩЕЙ СРЕДЫ 3;  # ENVIRON могут быть вложенными #
   666
 КОНЕЦ
 

Ограничения на язык из стандарта АЛГОЛ 68 [ править ]

  • Нет ALGOL 68 FLEX и массивов переменной длины.
  • MODE STRING реализовано без FLEX
  • Параллельное положение PAR не было реализовано
  • Нестандартный транспорт
  • другие...

Транслятор-компилятор Алгола 68C был доступен для PDP-10 , IBM System/360 и нескольких других компьютеров.

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

  1. ^ Биррелл, Эндрю Д. (декабрь 1977 г.). «Системное программирование на языке высокого уровня» (PDF) . Диссертация представлена ​​на соискание ученой степени доктора философии . Кембриджский университет . Проверено 22 апреля 2007 г.
  2. ^ «Деталь предмета: модель 340 Digital Equipment Corporation» . Австралийское общество компьютерных музеев (ACMS) . Веб-хостинг AceWare . Проверено 17 апреля 2020 г. [ постоянная мертвая ссылка ]
  3. ^ Гарднер, Мартин (октябрь 1970 г.). «Фантастические комбинации нового пасьянса Джона Конвея «Жизнь» » (PDF) . Математические игры. Научный американец . № 223. С. 120–123. Для долгоживущих популяций, таких как эта, Конвей иногда использует компьютер PDP-7 с экраном, на котором он может наблюдать изменения [...] Программа была написана MJT Guy и SR Bourne. Без его помощи было бы трудно сделать некоторые открытия об игре.
  4. ^ «Модульный ручной браузер: Adb» . UnixDev.net . Архивировано из оригинала 3 марта 2016 г. Проверено 17 апреля 2020 г.
  5. ^ Борн, Стивен Р .; Биррелл, Эндрю Д.; Уокер, Ян (1975). Справочное руководство по Алголу 68С . Компьютерная лаборатория Кембриджского университета.

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

Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 174012EB2460615E910EC0A13AB19DE7__1679785860
URL1:https://en.wikipedia.org/wiki/ALGOL_68C
Заголовок, (Title) документа по адресу, URL1:
ALGOL 68C - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)