ВУЗ:
Составители:
6
I → C | IC | IR
N → R | NR
C → a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w | x | y | z
R → 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Формы Бэкуса-Наура (БНФ)
Метаязык, предложенный Бэкусом и Науром, использует следующие обо-
значения:
-
символ «::=» отделяет левую часть правила от правой (читается:
«определяется как»);
-
нетерминалы обозначаются произвольной символьной строкой, за-
ключенной в угловые скобки «<» и «>»;
-
терминалы - это символы, используемые в описываемом языке;
-
правило может определять порождение нескольких альтернативных
цепочек, отделяемых друг от друга символом вертикальной черты «|» (читается:
«или»).
Пример 2.2. Определение понятия «идентификатор» с использованием
БНФ имеет вид:
<идентификатор> ::= <буква> | <идентификатор> <буква>
| <идентификатор> <цифра>
<буква> :: =
a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w |
|
x | y | z
<цифра> :: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Расширенные формы Бэкуса-Наура (РБНФ)
Для повышения удобства и компактности описаний, в РБНФ вводятся
следующие дополнительные конструкции (метасимволы):
-
квадратные скобки «[» и «]» означают, что заключенная в них синтак-
сическая конструкция может отсутствовать;
-
фигурные скобки «{» и «}» означают повторение заключенной в них
синтаксической конструкции ноль или более раз;
-
сочетание фигурных скобок и косой черты «{/» и «/}» используется
для обозначения повторения один и более раз;
-
круглые скобки «(» и «)» используются для ограничения альтернатив-
ных конструкций.
Пример 2.3. В соответствии с данными правилами синтаксис модельного
языка
М будет выглядеть следующим образом:
<буква> ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w |
x | y | z
<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<идентификатор> ::= <буква> { <буква> | <цифра> }
<число> ::= {/< цифра> /}
<ключевое_слово> ::=
program | var | begin | end | int | bool | read | write | if |
I → C | IC | IR
N → R | NR
C→a|b|c|d|e|f|g|h|i|j|k|l|m|n|o|p|q|r|s|t|u|v|w|x|y|z
R→0|1|2|3|4|5|6|7|8|9
Формы Бэкуса-Наура (БНФ)
Метаязык, предложенный Бэкусом и Науром, использует следующие обо-
значения:
- символ «::=» отделяет левую часть правила от правой (читается:
«определяется как»);
- нетерминалы обозначаются произвольной символьной строкой, за-
ключенной в угловые скобки «<» и «>»;
- терминалы - это символы, используемые в описываемом языке;
- правило может определять порождение нескольких альтернативных
цепочек, отделяемых друг от друга символом вертикальной черты «|» (читается:
«или»).
Пример 2.2. Определение понятия «идентификатор» с использованием
БНФ имеет вид:
<идентификатор> ::= <буква> | <идентификатор> <буква>
| <идентификатор> <цифра>
<буква> :: = a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w |
|x|y|z
<цифра> :: = 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
Расширенные формы Бэкуса-Наура (РБНФ)
Для повышения удобства и компактности описаний, в РБНФ вводятся
следующие дополнительные конструкции (метасимволы):
- квадратные скобки «[» и «]» означают, что заключенная в них синтак-
сическая конструкция может отсутствовать;
- фигурные скобки «{» и «}» означают повторение заключенной в них
синтаксической конструкции ноль или более раз;
- сочетание фигурных скобок и косой черты «{/» и «/}» используется
для обозначения повторения один и более раз;
- круглые скобки «(» и «)» используются для ограничения альтернатив-
ных конструкций.
Пример 2.3. В соответствии с данными правилами синтаксис модельного
языка М будет выглядеть следующим образом:
<буква> ::= a | b | c | d | e | f | g | h | i | j | k | l | m | n | o | p | q | r | s | t | u | v | w |
x|y|z
<цифра> ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
<идентификатор> ::= <буква> { <буква> | <цифра> }
<число> ::= {/< цифра> /}
<ключевое_слово> ::= program | var | begin | end | int | bool | read | write | if |
6
Страницы
- « первая
- ‹ предыдущая
- …
- 4
- 5
- 6
- 7
- 8
- …
- следующая ›
- последняя »
