БЭКУСА НОРМАЛЬНАЯ ФОРМА
— частный вид формальных грамматик порождающего типа, описывающих класс контекстно-свободных языков. Б. н. ф. ввел амер. матем. Бэкус для описания языка АЛГОЛ-60. В дальнейшем эти грамматики получили широкое признание и распространение. Б. н. ф. задается словарем терминальных (или основных) символов (напр., в АЛГОЛе-60 - это буквы, цифры, логич. значения, знаки операций, разделители, скобки, вспомогательные слова: real, integer. Boolean, procedure и др.), словарем нетерминальных символов (называемых метапеременными), один из которых наз. аксиомой, и совокупностью металингвистических формул (МЛФ), каждая из которых предназначена для определения одной метапеременной (в языках программирования аксиоме соответствует понятие программы). Каждая МЛФ строится из терминальных и нетерминальных символов с помощью металингвистических связок
(означает «равно по определению») и верт. черты (означает «или»); каждая из них задаст правило порождения допустимых значений соответствующих метапеременных, которыми являются осн. символы или их цепочки, расположенные между разделителями или получающиеся посредством последовательной замены в этих цепочках метапеременных их допустимыми (порождаемыми) значениями.
Примером Б. н. ф. является задание синтаксиса целого числа в описании АЛГОЛа-60:
Здесь (целое), (цифра) есть метапеременные, а цифры от 0 до 9 — осн. символы языка. Это определение целого числа является рекурсивным, согласно которому любая цифра — целое число, или любое целое, к которому справа приписана цифра, также является целым числом и позволяет получить число в виде произвольной последовательности цифр, напр., 2379, 8, 032 и т. д. См. также Грамматика формальная.