Лучшие вопросы
Таймлайн
Чат
Перспективы

Синтаксическая диаграмма

Из Википедии, свободной энциклопедии

Remove ads

Синтаксическая диаграмма — это направленный граф с одним входным ребром и одним выходным ребром и помеченными вершинами. Синтаксическая диаграмма задаёт язык. Цепочка пометок при вершинах на любом пути от входного ребра к выходному — это цепочка языка, задаваемого синтаксической диаграммой. Между входным/выходным рёбрами находятся блоки двух видов: "круг" — определяет базовое (первичное) понятие; и "прямоугольник" — определяет вторичное понятие, которое определённо ( т.е. метапеременная). Поэтому можно считать, что синтаксическая диаграмма — это одна из форм порождающей грамматики автоматных языков. Синтаксические диаграммы и конечные автоматы имеют тесную связь: любой автоматный язык задаётся синтаксической диаграммой и обратно, по любой синтаксической диаграмме можно построить конечный автомат (в общем случае недетерминированный), распознающий тот же язык, который задаёт диаграмма.

Построив по синтаксической диаграмме соответствующий распознающий конечный автомат, можно затем реализовать этот автомат либо аппаратно, либо программно.

Таким образом, синтаксические диаграммы могут служить не только для порождения, но и для распознавания автоматных языков.

Remove ads

Синтаксические единицы

Суммиров вкратце
Перспектива

Синтаксическая диаграмма позволяет графически изобразить структуру синтаксической единицы.[1]

Thumb
Синтаксическая диаграмма оператора Case в языке Pascal[2]

В метаязыках, описывающих синтаксис языка программирования, используются следующие основные понятия:

Метапеременная – обозначает определённую синтаксисом конструкцию языка. Для записи метапеременных в основном используются последовательности слов на естественном языке (русский, английский или др.) и служебных слов. Для разделения слов используется символ нижнего подчеркивания (_). В синтаксических диаграммах метапеременные заключаются в угловые скобки (<>). Метапеременная на размеченном ребре графа означает, что этот фрагмент диаграммы должен быть детализирован подстановкой синтаксической диаграммы с именем, соответствующим данной метапеременной.

Примеры записи метапеременных:

<Оператор_For>

<Тип_Set>

<Базовый_скалярный_тип>

Метаконстанта – обозначает лексему языка программирования. В программе метаконстанте соответствует она сама. В синтаксических диаграммах метаконстанты записываются «как есть».

Примеры метаконстант:

For

Begin

Set

Метасимвол – специальный символ, используемый для описания синтаксиса языка. В синтаксических диаграммах присутствует два единственных метасимвола:

o  Метасимвол “::=” - используется для отделения имени синтаксической диаграммы.

o  Метасимвол “<>” – используется для обозначения метапеременных.

Синтаксическая диаграмма представляет собой ориентированный граф с размеченными рёбрами. Для разметки рёбер используются метаконстанты и метапеременные.

Remove ads

Примеры

Представление в виде ориентированных графов основных конструкций:

1. Выбор (Альтернатива).

Thumb

Аналогичная запись в РБНФ:

 <Буква>|<Знак_подчеркивания>.

2. Необязательная часть конструкции (Повторяется либо 1, либо 0 раз).

Thumb

Аналогичная запись в РБНФ:

[";"].

3. Повторение конструкции

Thumb

Аналогичная запись в РБНФ:

<Диапазон>{","<Диапазон>}.

См. также

Примечания

Литература

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads