- БНФ (Бэкуса-Наура формы, 1960, Алгол-60).
Пример.
<цифра> ::= 0|1|2|3|4|5|6|7|8|9<идентификатор> ::= <буква> | <идентификатор><буква> | <идентификатор><цифра> 0, 1, ... 9
называют терминалами (лексемами) — это "конечные символы", т.е. по умолчанию известные в ЯП.
<цифра>
так называемый нетерминал (нетерминальный символ).
Он определяется через терминалы, другие нетерминалы и самого себя. Причем в последнем случае правило задания нетерминала называется рекурсивным (как определение нетерминала <идентификатор>)
[] — 0 или 1 повторение.
{} — 0 и более повторений
Пример.
<идентификатор> ::= <буква> {<буква> | <цифра>} - Синтаксические диаграммы (Вирт, Паскаль)
Грамматика языка — совокупность всех синтаксических правил данного ЯП, обычно заданных в форме БНФ.
Грамматика не учитывает все виды ошибок, в ЯП формулируются дополнительные семантические правила.
Замечание 1. Способы 1-3 эквивалентны.
Замечание 2. Синтаксис определяет лексемы языка.