В информатике, регулярная грамматика — формальная грамматика типа 3 по иерархии Хомского. Регулярные грамматики определяют в точности все регулярные языки, и поэтому эквивалентны конечным автоматам и регулярным выражениям. Регулярные грамматики являются подмножеством контекстно-свободных.
Регулярная грамматика может быть задана набором правил как левая или правая регулярная грамматика.
правая регулярная грамматика - все правила могут быть в одной из следующих форм:
левая регулярная грамматика - все правила могут быть в одной из следующих форм:
где
Классы правых и левых регулярных грамматик эквивалентны - каждый в отдельности достаточен для задания всех регулярных языков. Любая регулярная грамматика может быть преобразована из левой в правую, и наоборот.
Правая регулярная грамматика G, заданная N = {S, A}, Σ = {a, b, c}, P состоит из следующих правил:
и S является начальным символом. Эта грамматика описывает тот же язык, что и регулярное выражение a*bc*.
Любая контекстно-свободная грамматика может быть легко преобразована в вид, в котором правила состоят только из лево-регулярных или право-регулярных (для контекстно-свободных грамматик допустимо наличие тех и других одновременно). Следовательно, такие грамматики могут выразить все контекстно-свободные языки. Регулярные грамматики могут содержать либо лево-регулярные правила, либо право-регулярные, но не оба вида одновременно. Поэтому они могут описать лишь подмножество языков, называемых регулярными языками.
Например, контекстно-свободный язык строк вида aibi, i≥0 задается грамматикой G, где N = {S, A}, Σ = {a, b}, P состоит из правил
и S является начальным символом. Обратите внимание на то, что данная грамматика содержит одновременно лево-регулярные и право-регулярные правила, и следовательно не является регулярной.
![]() |
Это заготовка статьи о программировании. Вы можете помочь проекту, дополнив её. |
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .