Бэкуса-Наура формы (БНФ)

Метаязыки Хомского и Хомского-Щутценберже использовались в математической литературе при описании простых абстрактных языков. Метаязык, предложенный Бэкусом и Науром, впервые использовался для описания синтаксиса реального языка программирования Алгол 60. Наряду с новыми обозначениями метасимволов, в нем использовались содержательные обозначения нетерминалов. Это сделало описание языка нагляднее и позволило в дальнейшем широко использовать данную нотацию для описания реальных языков программирования. Были использованы следующие обозначения:

· символ «::=» отделяет левую часть правила от правой (иногда вместо знака старых монографий «::=» ставят знак «®» или «Þ»);

· нетерминалы обозначаются произвольной символьной строкой, заключенной в угловые скобки "<" и ">";

· терминалы - это символы, используемые в описываемом языке;

· каждое правило определяет порождение нескольких альтернативных цепочек, отделяемых друг от друга символом вертикальной черты "|".

Пример описания идентификатора с использованием БНФ:

<буква> :: = А|В|С|D|E|F|G|H|I|J|K|L|M|N|O|P|Q|R|S|T|U|V|

W|X|Y|Z|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

<идентификатор> ::= <буква> | <идентификатор><буква> |

<идентификатор><цифра>

Правила можно задавать и раздельно:

<идентификатор> :: = <буква>

<идентификатор> :: = <идентификатор> <буква>

<идентификатор> :: = <идентификатор> <цифра>








Дата добавления: 2015-10-09; просмотров: 797;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.003 сек.