ВУЗ:
Составители:
сваI
IEF
FFTFТT
TTEТЕЕ
ЕS
R
||::
|)(::
|/|*::
||::
::
:
=
=
=
−+=
=
Большие латинские буквы обозначают следующие конструкции: S -
арифметическое выражение, Е - ****, Т - терм, F - множитель, I -
идентификатор.
Возьмем в качестве примера арифметическое выражение
сва *)(
+
.
Дерево вывода этого выражения представлено на рис. 3.2.
Рис. 3.2.
Всякой КС-грамматике однозначно соответствует некоторый КС-язык,
быть может, пустой. Важно подчеркнуть, что соответствие между
грамматиками и языками не является взаимно однозначным: один и тот же
язык может быть порожден различными грамматиками. Грамматики,
порождающие один и тот же язык,
называется эквивалентным. Отсюда
вытекает возможность эквивалентного преобразования грамматик. Не
рассматривая глубоко этот вопрос, укажем только, что преобразования
грамматик можно проводить различным образом. В частности, можно
сократить число правил вывода и упростить грамматику, выбросив те
правила, которые включают непроизводящие символы (т.е. символы, не
имеющие терминального порождения), а также правила, включающие
S
E
T
T
F
E
E
T
F
I
a
(
+
в
)
*
с
T
F
I
F
I
Страницы
- « первая
- ‹ предыдущая
- …
- 50
- 51
- 52
- 53
- 54
- …
- следующая ›
- последняя »
