. Но для нашего языка мы примем более простое решение:
if будет принимать выражение и одну инструкцию для ветки
then, а также опциональную инструкцию для ветки
else, если она указана.
Пример синтаксиса:
if 1 == 1 then print 1 else print 0.
Оператор print уже был упомянут, и для него мы примем синтаксис, который принимает одно выражение.
Теперь давайте попробуем написать пример программы, используя такой синтаксис.
Пример программы на созданном языке
a = 1 +2 * 3
if a == 6 then print 6 else print 0
Вот так будет выглядеть синтаксис, правильно?
1.2.2 Методы определения синтаксиса
Итак, как же нам определить синтаксис, о котором мы говорили до сих пор?
Для того чтобы программа могла быть разобрана компилятором, синтаксис должен быть определён достаточно строго, чтобы его можно было обработать компьютером. В этой книге мы будем использовать Extended Backus-Naur Form (расширенная форма Бэкуса-Наура), которая часто используется для определения синтаксиса собственных языков.
Введение в Extended Backus-Naur Form
Extended Backus-Naur Form (EBNF) – это метаязык для описания синтаксических правил, определённый в ISO/IEC 14977 [6]. В этой книге мы будем ссылаться на стандарт ISO/IEC 14977:1996