Эта нотация является современным вариантом расширенной формы Бэкуса—Наура (РБНФ
).
Для описания грамматики языка используется несколько простых правил.
Ключевым понятием является продукция
.
При определении продукции
слева устанавливается имя продукции
, справа от знака присвоить
описывается определение продукции. Предложение завершается терминальный символом
-- ;
. Пример ниже:
Имя = Буква;
При определении имени продукции символ (символы) с правой стороны могут быть необязательными.
Объект = Тип?;
Если для определения имени продукции необходимо указать слева один или больше символов -- используется нотация имени символа с двоеточием после имени символа.
Объект = Тип..;
Бывает, что продуция можэет быть одним из нескольких допустимых символов. Форма записи представлена ниже:
Объект = Тип1 | Тип2 | Тип3;
Для обозначения того, что для продукции используется один обязательный и список необязательные символы следует использовать литеру ,
. Форма записи:
Объект = Тип0, Типы..?
Для показа спосба комбинации продукции из символов и литер следует использовать литеру +
:
ТипПоле = Тип0 + "." + Имя;
В определение продукции можно добавить комментарий.
ТипПоле = Тип0 + "." + Имя; // Определение поля в типе
К таким элементам, например, относятся кючевые символы
МОДУЛЬ = "МОДУЛЬ";
ФУНКЦИЯ = "ФН";
КлючевойСимвол = МОДУЛЬ | ФУНКЦИЯ;
Бывает полезно в продукции показать границы определения, например:
Модуль = МОДУЛЬ Имя;
Импорт?, Типы?, Переменные?, Функции?;
{
Выражение..?
}