~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 4EE3C453D3FE0E3A5C5DACED1FAE52CD__1706005440 ✰
Заголовок документа оригинал.:
✰ ALGOL W - Wikipedia ✰
Заголовок документа перевод.:
✰ АЛГОЛ W — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/ALGOL_W ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/4e/cd/4ee3c453d3fe0e3a5c5daced1fae52cd.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/4e/cd/4ee3c453d3fe0e3a5c5daced1fae52cd__translat.html ✰
Дата и время сохранения документа:
✰ 02.07.2024 03:13:44 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 23 January 2024, at 13:24 (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: далее начало оригинального документа

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

АЛГОЛ W

Из Википедии, бесплатной энциклопедии

АЛГОЛ W
Парадигмы Мультипарадигмальность : процедурная , императивная , структурированная.
Семья АЛГОЛ
Разработано Никлаус Вирт , Тони Хоар
Впервые появился 1966 год ; 58 лет назад ( 1966 )
Дисциплина набора текста Статический , сильный
Объем Лексический
Язык реализации ПЛ360
Платформа IBM Система/360
ТЫ ОС/360 , МТС
Под влиянием
АЛГОЛ 60
Под влиянием
Паскаль , Модуль-2

АЛГОЛ W язык программирования . Он основан на предложении об Алголе X Никлауса Вирта и Тони Хоара как преемнике Алгола 60 . АЛГОЛ W — это относительно простая модернизация исходного АЛГОЛа 60, в которую добавлена ​​строка , битовая строка, комплексное число и ссылка на записи типы данных , а также по результату передача параметров , что представляет собой while заявление, замена switch с case заявление, да и вообще ужесточение языка.

Работа Вирта была сочтена слишком незначительным шагом вперед по сравнению с АЛГОЛом 60, а более сложная версия Адриана ван Вейнгаардена , которая позже стала АЛГОЛом 68, была выбрана на весьма спорном совещании. Позже Вирт опубликовал свою версию как «Вклад в развитие АЛГОЛА» . [1] С рядом небольших дополнений это в конечном итоге стало ALGOL W.

Вирт руководил высококачественной реализацией IBM System/360 в Стэнфордском университете , которая получила широкое распространение. [2] [3] Реализация была написана на PL360 , похожем на АЛГОЛ, , языке ассемблера разработанном Виртом. Реализация включает в себя важные возможности отладки и профилирования .

АЛГОЛ W послужил основой для языка Паскаль , и синтаксис АЛГОЛ W будет сразу знаком каждому, кто имеет опыт работы с Паскалем. Ключевыми отличиями являются улучшения в обработке записей в Паскале и, как ни странно, потеря способности ALGOL W определять длину массива во время выполнения, что является одной из функций Паскаля, на которую больше всего жалуются.

Синтаксис и семантика [ править ]

ALGOL W Синтаксис построен на подмножестве EBCDIC набора кодировок символов . В АЛГОЛе 60 зарезервированные слова представляют собой отдельные лексические элементы, но в АЛГОЛе W они представляют собой всего лишь последовательности символов, и их не нужно сокращать . Зарезервированные слова и идентификаторы разделяются пробелами. [2] В этом отношении синтаксис ALGOL W напоминает синтаксис Паскаля и более поздних языков.

Описание языка ALGOL W [4] определяет АЛГОЛ W в аффиксной грамматике , напоминающей форму Бэкуса-Наура (BNF). Эта формальная грамматика была предшественницей грамматики Ван Вейнгаардена . [1] [5]

Большая часть семантики ALGOL W определяется грамматически: [4]

  • Идентификаторы различаются по их определению в пределах текущей области . Например, ⟨procedure identifier⟩ это идентификатор, который был определен объявлением процедуры, ⟨label identifier⟩ — это идентификатор, который используется в качестве метки перехода .
  • Типы переменных выражений и . аффиксами обозначаются Например ⟨τ function identifier⟩ — это синтаксическая сущность для функции, которая возвращает значение типа τ, если идентификатор был объявлен как целочисленная функция в текущей области видимости, то он расширяется до ⟨integer function identifier⟩.
  • Ошибки типа — это грамматические ошибки. Например, ⟨integer expression⟩ / ⟨integer expression⟩ и ⟨real expression⟩ / ⟨real expression⟩ являются действительными, но отдельными синтаксическими объектами, которые представляют выражения, но ⟨real expression⟩ DIV ⟨integer expression⟩ (т. е. целочисленное деление, выполняемое для значения с плавающей запятой) является недопустимым синтаксическим объектом.

Пример [ править ]

Это демонстрирует возможности ALGOL W по типу записи .

ЗАПИСЬ   ЧЕЛОВЕКА   ( 
     СТРОКА  (  20  )   ИМЯ  ;  
     ЦЕЛЫЙ   ВОЗРАСТ  ;  
     ЛОГИЧЕСКИЙ   МУЖЧИНА  ;  
     ССЫЛКА  (  ЧЕЛОВЕК  )   ОТЕЦ  ,   МАТЬ  ,   МЛАДШИЙ ПОТОМ  ,   СТАРШИЙ БРАТ 
 )  ; 

  ССЫЛКА  (  ЧЕЛОВЕК  )   ПРОЦЕДУРА   YOUNGESTUNCLE   (  ССЫЛКА  (  ЧЕЛОВЕК  )   R  )  ; 
      НАЧАТЬ 
         ССЫЛКУ  (  ЧЕЛОВЕК  )   P  ,   M  ; 
          P   :=   МОЛОДЫЕ ПОТОМКИ  (  ОТЕЦ  (  ОТЕЦ  (  R  )))  ; 
          WHILE   (  P   ¬  =   NULL  )   AND   (  ¬   MALE  (  P  ))   OR   (  P   =   ОТЕЦ  (  R  ))   DO 
             P   :=   СТАРШИЙ БРАТ  (  P  )  ; 
          M   :=   МОЛОДЫЕ ПОТОМКИ  (  МАТЬ  (  МАТЬ  (  R  )))  ; 
          WHILE   (  M   ¬  =   NULL  )   AND   (  ¬   MALE  (  M  ))   DO 
             M   :=   СТАРШИЙ БРАТ  (  M  )  ; 
          IF   P   =   NULL   THEN  
             M  
         ELSE   IF   M   =   NULL   THEN  
             P  
         ELSE  
             IF   AGE  (  P  )   <   AGE  (  M  )   THEN   P   ELSE   M 
     END 

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

  1. ^ Перейти обратно: а б Вирт, Никлаус ; Хоар, ЦАР (июнь 1966 г.). «Вклад в развитие АЛГОЛА» . Коммуникации АКМ . 9 (6): 413–432. дои : 10.1145/365696.365702 . S2CID   11901135 . Проверено 7 октября 2020 г. - через Ассоциацию вычислительной техники .
  2. ^ Перейти обратно: а б Бауэр, Генри Р.; Беккер, Шелдон И.; Грэм, Сьюзен Л.; Форсайт, Джордж Э.; Саттертуэйт, Эдвин Х. (март 1968 г.). Номер технического отчета: CS-TR-68-89 . Кафедра компьютерных наук (Отчет). Стэндфордский Университет. (Различные документы по реализации ALGOL W в Стэнфорде в 1972 году; этот отчет включает описание языка ALGOL W.
  3. ^ Сайты, Ричард. «Справочное руководство по ALGOL W» (PDF) . i.stanford.edu . Стэндфордский Университет . Проверено 24 июля 2022 г.
  4. ^ Перейти обратно: а б Бауэр, Генри Р.; Беккер, Шелдон И.; Грэм, Сьюзен Л.; Саттертуэйт, Эдвин Х.; Сайты, Ричард Л. (июнь 1972 г.). Описание языка ALGOL W (PDF) (Отчет).
  5. ^ ван Вейнгаарден, Адриан (22 октября 1965 г.). Ортогональная конструкция и описание формального языка: MR76 (PDF) (Отчет). Амстердам , Нидерланды: Математический центр. Архивировано из оригинала (PDF) 29 октября 2019 года . Проверено 7 октября 2020 г. - через Ernst-Abbe-Hochschule Jena , Университет прикладных наук, Германия.

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

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