Форма Бэкуса-Наура (БНФ)
Способы описания языка
Этапы трансляции
Для описания синтаксиса языка наибольшее распространение получили:
§ Форма Бэкуса-Наура и его различные модификации
§ Синтаксические диаграммы Вирта
§ Формальные грамматики
В БНФ каждое определяемое понятие – это металингвистическая переменная.
Значением металингвистической переменной может быть любая конструкция из некоторого фиксированного для этого понятия набора конструкций.
Каждая металингвистическая форма определяется одну металингвистическую переменную и состоит из двух частей: слева – сама переменная, справа – все варианты определения конструкции, задаваемой этой формой. Варианты разделяются металингвистической связкой ‘|’ (или). Левая и правая части соединяются метасимволом :=, означающим «по определению есть».
Например, следующие металингвистические формы определяют множество целых чисел (символ ‘::=’ читается как «по определению есть»):
<целое число>::=<целое без знака> | +<целое без знака> | -<целое без знака>
<целое без знака>::=<цифра>|<целое без знака><цифра>
<цифра>::=0|1|2|3|4|5|6|7|8|9
Характерной особенностью многих металингвистических форм является наличие в них рекурсии.