ВУЗ:
Составители:
- 18 -
5. Определение формальных грамматик
Формальной грамматикой языка называют четверку объектов:
G(S,P,T,N), где
N - совокупность категорий языка, называемых в теории
формальных грамматик нетермами;
T - словарь языка - термы;
P - совокупность правил образования предложений языка;
S - начальный символ.
Правила грамматик имеют вид: е -> n
(цепочку символов е заменить на цепочку символов n),
где e и n - термы и нетермы языка, -> знак подстановки.
В зависимости от вида правил, формальные грамматики делят на
контекстно-свободные и контекстно-зависимые. Контекстно-свободной
грамматику называют в случае, если левая часть правил представля-
ет собой нетерм.
Грамматики языков программирования записывают в виде нотации
Бэкуса-Наура (БНФ-нотации). По БНФ-нотации нетермы записываются в
скобках - < >, а термы непосредственно представлены в описании,
знак подстановки - ::=.
Альтернативы в правых частях правил разделяются вертикальны-
ми линиями - ¦.
Модифицированная нотация Бекуса-Наура содержит скобки:
[,] - повтор, иногда с повторителем N;
_N [] - не больше N повторов;
N [] - не меньше, чем заданное число повторов;
() - пропуск конструкции.
Пример 1: определение идентификатора -
<идентификатор> ::= <буква> (_9 [<символ>])
<буква> ::= A¦..¦Z¦a¦..¦z
<символ> ::= <буква>¦<цифра>
<цифра> ::= 0¦1¦..¦9
Пример 2: Необходимо описать в БНФ язык арифметических выражений
с операциями -,+,*,/,**, допускающий использование скобок и зада-
ваемых буквами операндов.
Опишем грамматику:
термы Т = { A..Z, a..z, -, +, *, /, (, ) }
Страницы
- « первая
- ‹ предыдущая
- …
- 15
- 16
- 17
- 18
- 19
- …
- следующая ›
- последняя »
