Jump to content

язык Бема

Язык Бема относится к языку, машине и методу перевода, разработанным Коррадо Бёмом во второй половине 1950 года. Бём использовал эту работу как часть своей диссертации , представленной в 1951 году (с поправками после подачи), опубликованной в 1954 году. [ 1 ] [ 2 ] [ 3 ]

Компилятор

[ редактировать ]

Работа Бема описала первый полный метациклический компилятор . Код компилятора был удивительно точным и состоял всего из 114 строк кода. [ 4 ] Поскольку язык принимал только два вида выражений: полностью в скобках или без скобок, но с приоритетом операторов, то код компилятора разбился на две части. 59 строк использовались для обработки формул с круглыми скобками, 51 — для обработки выражений приоритета операторов и 4 — для выбора между этими двумя случаями. [ 5 ]

Техника анализа выражений Бема имела только линейную сложность. Он генерировал инструкции для структуры, похожей на двоичное дерево . [ 6 ]

Язык Бема состоял только из операций присваивания . В нем не было специальных конструкций, таких как пользовательские функции, структуры управления . Переменные представляли собой только неотрицательные целые числа . Чтобы совершить прыжок, нужно было записать специальную переменную π. Для выполнения ввода-вывода? использовался символ. [ 7 ]

Пример программы, которая загружает массив из 11 элементов из входных данных, будет выглядеть следующим образом.

A. Set i = 0 (plus the                                π → G
   base address 100 for                             100 → i
   the input array a).                                B → π
B. Let a new input a[i] be                           π' → B
   given. Increase i by unity,                        ? → ↓i
   and stop if i > 10,                              i+1 → i
   otherwise repeat B.  [(1∩(i∸110))∙Ω]+[(1∸(i∸110))∙B] → π

∩ представляет минимальный оператор и ∸ логическую разность.

  1. ^ Кнут, с. 35–36, 99
  2. ^ «Доктор философии Коррадо Бема, перевод» . Питер Сестофт, ИТ-университет Копенгагена . 2016 . Проверено 10 июля 2023 г.
  3. ^ Бём, Коррадо (1954). Цифровые калькуляторы для расшифровки логико-математических формул самой машиной в оформлении программы (Докторская диссертация) (на французском языке). ETH Цюрих. дои : 10.3929/ethz-a-000090226 . hdl : 20.500.11850/132662 .
  4. ^ Кнут, с. 36
  5. ^ Кнут, с. 39
  6. ^ Кнут, с. 40
  7. ^ Кнут, с. 36-37

Источники

[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: acd7462f6a2e13e1c63f8ea4bf42d554__1712628960
URL1:https://arc.ask3.ru/arc/aa/ac/54/acd7462f6a2e13e1c63f8ea4bf42d554.html
Заголовок, (Title) документа по адресу, URL1:
Böhm's language - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)