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