В такой последовательности, очевидно, конечным определяемым понятием должно быть понятие программы.
В записях метаформул приняты определенные соглашения. Например, формула БНФ, определяющая понятие «двоичная цифра», выглядит следующим образом: <двоичная цифра>::=0|1 Значок | эквивалентен слову «или». Это определение можно представить на языке синтаксических диаграмм (рис. 6).
В диаграммах стрелки указывают на последовательность расположения элементов синтаксической конструкции; кружками обводятся символы, присутствующие в конструкции. Понятие «двоичный код» как непустую последовательность двоичных цифр БНФ описывает так: <двоичный код>::=<двоичная цифра>|<двоичный код><двоичная цифра> Определение, в котором некоторое понятие определяется само через себя, называется рекурсивным. Рекурсивные определения характерны для БНФ. Синтаксическая диаграмма двоичного кода представлена на рис. 7.
Возвратная стрелка обозначает возможность многократного повторения. Очевидно, что диаграмма более наглядна, чем БНФ.
|