Язык Бемса - Böhms language - Wikipedia
Язык Бема относится к языку, машинному и методу перевода, разработанному Коррадо Бём в 1950 г. Бём использовал эту работу как свою диссертация, опубликовано в 1952 году.[1]
Компилятор
В работе Бема описана первая полная метакруговой компилятор. Код компилятора был удивительно точным и состоял всего из 114 строк кода.[2] Поскольку язык допускает только два вида выражений: полностью заключенные в круглые скобки или без скобок, но с приоритетом операторов, поэтому код компилятора разбивается на две части. 59 строк использовались для обработки формул со скобками, 51 для обработки выражений приоритета операторов и 4 для выбора между этими двумя случаями.[3]
Техника синтаксического анализа выражений Бема имела только линейную сложность. Он сгенерировал инструкции для структуры, похожей на двоичное дерево.[4]
Язык
Язык Бема состоял только из операции присвоения. В нем не было специальных конструкций вроде пользовательских функций, управляющие структуры. Только представленные переменные неотрицательные целые числа. Чтобы совершить прыжок, нужно было записать в специальную π-переменную. Для выполнения ввода / вывода? использовался символ.[5]
Пример программы, загружающей 11-элементный массив из ввода, будет выглядеть следующим образом.
A. Установите i = 0 (плюс базовый адрес π → G 100 для 100 → i входной массив a). B → π
B. Пусть дан новый вход a [i] π '→ B. Увеличить i на единицу,? → ↓ i и остановитесь, если i> 10, i + 1 → i, в противном случае повторите B. [(1∩ (i∸110)) ∙ Ω] + [(1∸ (i∸110)) ∙ B] → π
∩ представляет собой минимальный оператор и ∸ логическую разницу.
Рекомендации
Источники
- Кнут, Дональд Э.; Пардо, Луис Трабб (1976). «Раннее развитие языков программирования». Стэнфордский университет, факультет компьютерных наук.