Cтраница 3
Синтаксическими диаграммами можно также пользоваться, когда нужно определить, принадлежит или не принадлежит данный элемент некоторому синтаксическому классу. Схема на рис. 2.1, например, дает возможность определить, принадлежит данный элемент к классу идентификаторов или нет. [31]
![]() |
Общая структура программы. [32] |
Из синтаксических диаграмм видно, что структура процедуры ( функции), за исключением заголовка, полностью идентична структуре программы. [33]
От синтаксических диаграмм достаточно просто перейти к схемам программ обработки форматов. Однако очевидно, что с повышением сложности формата синтаксический анализ сообщений программными методами будет значительно замедлять передачу информации по магистрали. [34]
Из синтаксических диаграмм для локальных и программных модулей и реализационных разделов глобальных модулей видно, что с ними можно связать приоритет. Разделы определений модулей не имеют приоритетов. [35]
На синтаксической диаграмме 13.1, описывающей СписокКомпонентов, селектор варианта указан как необязательная часть. Обычно селекторам явно присваивается имя, но иногда они могут быть неименованными. Это называется свободным вариантом. Свободные варианты часто использовались в Паскале как машинно-независимые системы преобразования типов, но те методы, которыми располагает Модула-2, предпочтительнее. [36]
На синтаксических диаграммах пробелы никак не отражены. Это объясняется тем, что они могут встречаться практически в ЛШббм месте программы, и Включение их в синтаксические диаграммы приведет к большой путанице. Пробелы не должны встречаться внутри зарезервированных слов, идентификаторов или составных символов. [37]
Далее приводится синтаксическая диаграмма для модуля определений. [38]
Пути на синтаксической диаграмме описывают допустимые в Модуле-2 конструкции. [39]
Вот насколько усложняются синтаксические диаграммы при попытке исключить хотя бы одно-единственное слово. [40]
С левой стороны синтаксической диаграммы цифры, не доходя до первого узла, мы встречаем разветвление пути. [41]
Кто уже посмотрел на синтаксические диаграммы, тот знает, что условия, которые мы записывали в уроке 2 между ключевыми словами WHILE и DO, тоже являются выражениями. Мы должны получить возможность размещать их также между словами CASE и OF. Признаки случаев должны, конечно, и здесь согласовываться с выражением. Одно условие, например сравнение X U, может принимать только два значения: верно то, что здесь утверждается ( точнее - спрашивается), или нет. Такие же названия должны иметь тогда и признаки случаев. Благодаря этому приему при определенных условиях можно избежать лишней писанины, так как одно условие может включать в себя много случаев. [42]
На рис. 3.1 приведена синтаксическая диаграмма для условного оператора. По ней видно, что часть оператора, начинающаяся со слова else, может быть опущена, и в этом случае, если условие имеет значение false, никаких действий не предпринимается. Внутри условного оператора точки с запятой не нужны, поэтому будет ошибкой ставить этот знак перед словами then или else. [43]
На рис. 3.5 приведена синтаксическая диаграмма для оператора цикла с параметром. [44]
На рис. 3.2 изображена синтаксическая диаграмма оператора цикла с пост-условием. [45]