Синтаксические диаграммы напоминают структурные схемы, но с их помощью описываются не процессы обработки, а структуры данных. В синтаксических диаграммах используются блоки двух видов: овальные и прямоугольные. В овальные блоки помещают символы, которые без изменений входят в описываемую конструкцию, а в прямоугольные помещают понятия, требующие определения или определенные ранее. Блоки соединяются стрелками. Чтобы получить правильные грамматические конструкции, нужно идти по путям, указанным стрелками, от одного блока к другому, пока не придем к выходу. Если предусмотрено более одного направления движения, можно выбрать любое.
В качестве примера приведем синтаксическую диаграмму одного из важных понятий программирования - идентификатора.
Словесно это определение можно записать следующим образом.
Идентификатором является последовательность букв и цифр, начинающаяся с буквы.
В стандартном Паскале допускается длина идентификатора не более 8 символов, а в ТР - до 63 символов включительно.
|
|
Металингвистические формулы Бэкуса - Науэра
Метод описания синтаксиса с помощью формул Бэкуса - Науэра заключается в использовании специальных обозначений:
::= - читается: «по определению есть»;
| (вертикальная черта) - выбор, альтернатива;
{ } (фигурные скобки) - возможность повторения, что соответствует замкнутому циклу в синтаксических диаграммах;
[ ] (квадратные скобки) - необязательная часть синтаксической конструкции;
(..|..) (круглые скобки с вертикальной чертой) - альтернатива внутри определения;
< > в угловые скобки заключают понятия, требующие определения (метапеременные), которые в синтаксических диаграммах записывают в прямоугольных блоках.
На языке формул Бэкуса - Науэра (ЯБНФ) определение идентификатора имеет вид <буква>{<буква> | <цифра>}