Читать книгу Введение в разработку собственного языка и компилятора. Создаем на Rust! - Андрей Невский - Страница 5
Глава I Давайте спроектируем собственный язык программирования!
1.1 Семантика
1.1.1 Вычисления
ОглавлениеПервое, что нужно рассмотреть, это смысл вычислений.
Существует множество типов семантики для вычислений, такие как операционная [1] семантика и денотационная [1] семантика. Однако в нашем случае мы не будем углубляться в подробности этих подходов, а сосредоточимся на том, что означают базовые команды.
Начнем с вычислительных выражений. Мы будем реализовывать операции сложения (+), вычитания (-), умножения (*) и деления (/). Сравнение будет ограничено проверкой на равенство (==), которая проверяет, равны ли значения слева и справа.
Присваивание переменной означает, что в переменную записывается заданное значение.
Оператор if оценивает условие: если оно истинно, выполняется инструкция в ветке then, если ложно – инструкция в ветке else (если она есть).
Оператор print выводит результат вычисления заданного выражения.
Для этого вычисления мы ограничиваемся такими простыми определениями на уровне естественного языка. Более глубокое определение семантики будет рассмотрено в другой книге, и я буду рад, если в будущем появится возможность подробно изложить этот процесс.