~~~~~~~~~~~~~~~~~~~~ Arc.Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~ 
Номер скриншота №:
✰ 3A875A5280A394A7B72DF88002BFA879__1715446380 ✰
Заголовок документа оригинал.:
✰ Regular grammar - Wikipedia ✰
Заголовок документа перевод.:
✰ Регулярная грамматика — Википедия ✰
Снимок документа находящегося по адресу (URL):
✰ https://en.wikipedia.org/wiki/Regular_grammar ✰
Адрес хранения снимка оригинал (URL):
✰ https://arc.ask3.ru/arc/aa/3a/79/3a875a5280a394a7b72df88002bfa879.html ✰
Адрес хранения снимка перевод (URL):
✰ https://arc.ask3.ru/arc/aa/3a/79/3a875a5280a394a7b72df88002bfa879__translat.html ✰
Дата и время сохранения документа:
✰ 15.06.2024 02:30:29 (GMT+3, MSK) ✰
Дата и время изменения документа (по данным источника):
✰ 11 May 2024, at 19:53 (UTC). ✰ 

~~~~~~~~~~~~~~~~~~~~~~ Ask3.Ru ~~~~~~~~~~~~~~~~~~~~~~ 
Сервисы Ask3.ru: 
 Архив документов (Снимки документов, в формате HTML, PDF, PNG - подписанные ЭЦП, доказывающие существование документа в момент подписи. Перевод сохраненных документов на русский язык.)https://arc.ask3.ruОтветы на вопросы (Сервис ответов на вопросы, в основном, научной направленности)https://ask3.ru/answer2questionТоварный сопоставитель (Сервис сравнения и выбора товаров) ✰✰
✰ https://ask3.ru/product2collationПартнерыhttps://comrades.ask3.ru


Совет. Чтобы искать на странице, нажмите Ctrl+F или ⌘-F (для MacOS) и введите запрос в поле поиска.
Arc.Ask3.ru: далее начало оригинального документа

Регулярная грамматика — Википедия Jump to content

Регулярная грамматика

Из Википедии, бесплатной энциклопедии

В теоретической информатике и теории формального языка регулярная грамматика это грамматика , которая является праворегулярной или леворегулярной . Хотя их точное определение варьируется от учебника к учебнику, все они требуют, чтобы

Каждая регулярная грамматика описывает регулярный язык .

Строго регулярные грамматики [ править ]

( Праворегулярная грамматика также называемая праволинейной грамматикой ) — это формальная грамматика ( N , Σ, P , S ), в которой все производственные правила в P имеют одну из следующих форм:

  1. А а
  2. А аБ
  3. А → е

где A , B , S N — нетерминальные символы, a ∈ Σ — терминальный символ, а ε обозначает пустую строку , т. е. строку длины 0. S называется начальным символом.

В леворегулярной грамматике (также называемой леволинейной грамматикой ) все правила подчиняются формам

  1. А а
  2. А Нет
  3. А → е

Язык, описываемый данной грамматикой, представляет собой набор всех строк, которые содержат только терминальные символы и могут быть получены из начального символа путем многократного применения правил продукции. Две грамматики называются слабо эквивалентными, если они описывают один и тот же язык.

Правила обоих видов нельзя смешивать; например, грамматика с набором правил { S aT , T Sb , S→ε} не является регулярной и описывает язык , что тоже не является регулярным.

Некоторые учебники и статьи запрещают пустые правила производства и предполагают, что пустая строка не присутствует в языках.

Расширенные регулярные грамматики [ править ]

Расширенная праворегулярная грамматика — это такая грамматика, в которой все правила подчиняются одному из

  1. A w , где A — нетерминал в N , а w — в (возможно, пустой) строке терминалов Σ *
  2. A wB , где A и B находятся в N , а w находится в Σ * .

Некоторые авторы называют этот тип грамматики праворегулярной грамматикой (или праволинейной грамматикой ). [1] а тип выше — строго праворегулярная грамматика (или строго праволинейная грамматика ). [2]

Расширенная лево-регулярная грамматика – это такая грамматика, в которой все правила подчиняются одному из

  1. A w , где A — нетерминал в N , а w — в Σ *
  2. A Bw , где A и B находятся в N , а w находится в Σ * .

Примеры [ править ]

Пример праворегулярной грамматики G с N = {S, A}, Σ = {a, b, c}, P состоит из следующих правил

С → аС
С → бА
А → е
А → СА

и S является начальным символом. Эта грамматика описывает тот же язык, что и регулярное выражение a*bc*, а именно. набор всех строк, состоящий из произвольного количества букв " a ", за которыми следует одна буква " b ", за которой следует произвольное количество букв " c ".

Несколько более длинная, но более явная расширенная праворегулярная грамматика G для того же регулярного выражения задается формулой N = {S, A, B, C}, Σ = {a, b, c}, где P состоит из следующих правил:

С → А
А → аА
А → Б
Б → БС
С → е
С → СС

...где каждая заглавная буква соответствует фразе, начинающейся со следующей позиции в регулярном выражении.

В качестве примера из области языков программирования набор всех строк, обозначающих число с плавающей запятой, может быть описан расширенной праворегулярной грамматикой G с N = {S,A,B,C,D,E,F}, Σ = {0,1,2,3,4,5,6,7,8,9,+,−,.,e}, где S — начальный символ, а P состоит из следующих правил:

С → +А А → 0А Б → 0С С → 0С Д → +Е Е → 0F Ф → 0Ф
С → −А А → 1А Б → 1С С → 1С Д → −Е Е → 1F Ф → 1Ф
С → А А → 2А Б → 2С С → 2С Д → Е Е → 2F Ф → 2Ф
А → 3А Б → 3С С → 3С Е → 3F Ф → 3Ф
А → 4А Б → 4С С → 4С Е → 4F Ф → 4Ф
А → 5А Б → 5С С → 5С Е → 5F Ф → 5Ф
А → 6А Б → 6С С → 6С Е → 6F Ф → 6Ф
А → 7А Б → 7С С → 7С Е → 7F Ф → 7Ф
А → 8А Б → 8С С → 8С Е → 8F Ф → 8Ф
А → 9А Б → 9С С → 9С Е → 9F Ф → 9Ф
А → .Б С → еД Ж → е
А → Б С → е

Выразительная сила [ править ]

Существует прямое взаимно однозначное соответствие между правилами (строго) праворегулярной грамматики и правилами недетерминированного конечного автомата , так что грамматика генерирует именно тот язык, который принимает автомат. [3] Следовательно, праворегулярные грамматики порождают ровно все регулярные языки . Леворегулярные грамматики описывают обратную сторону всех таких языков, то есть в точности и регулярные языки.

Каждая строгая праворегулярная грамматика является расширенной праворегулярной, тогда как каждую расширенную праворегулярную грамматику можно сделать строгой путем добавления новых нетерминалов, так что результат генерирует тот же язык; следовательно, расширенные праворегулярные грамматики также порождают регулярные языки. Аналогично обстоят дела и с расширенными лево-регулярными грамматиками.

Если пустая продукция запрещена, могут быть сгенерированы только все обычные языки, которые не включают пустую строку. [4]

Хотя регулярные грамматики могут описывать только регулярные языки, обратное неверно: регулярные языки также могут быть описаны с помощью нерегулярных грамматик.

Смешение лево-регулярных и право-регулярных правил [ править ]

Если разрешено смешивание лево-регулярных и право-регулярных правил, мы все равно имеем линейную грамматику , но не обязательно регулярную. Более того, такая грамматика не обязательно порождает регулярный язык: все линейные грамматики легко приводятся к этому виду, а значит, такие грамматики могут порождать ровно все линейные языки , включая нерегулярные.

Например, грамматика G с N = {S, A}, Σ = {a, b}, P с начальным символом S и правилами

С → аА
А → Сб
С → е

генерирует , парадигматический нерегулярный линейный язык.

См. также [ править ]

  • Регулярное выражение — компактное обозначение регулярных грамматик.
  • Грамматика регулярного дерева , обобщение строк на деревья.
  • Префиксная грамматика
  • Иерархия Хомского
  • Перрен, Доминик (1990), «Конечные автоматы», в Леувене, Ян ван (ред.), Формальные модели и семантика , Справочник по теоретической информатике, том. Б, Elsevier, стр. 1–58.
  • Пин, Жан-Эрик (октябрь 2012 г.). Математические основы теории автоматов (PDF) . , глава III

Ссылки [ править ]

  1. ^ Джон Э. Хопкрофт и Джеффри Д. Ульман (1979). Введение в теорию автоматов, языки и вычисления . Ридинг/Массачусетс: Аддисон-Уэсли. ISBN  0-201-02988-Х . Здесь: стр.217 (левая, право-регулярные грамматики как подклассы контекстно-свободных грамматик ), стр.79 (контекстно-свободные грамматики)
  2. ^ Хопкрофт и Ульман 1979 (стр. 229, упражнение 9.2) называют это нормальной формой для праволинейных грамматик.
  3. ^ Хопкрофт и Ульман 1979, стр.218-219, теоремы 9.1 и 9.2.
  4. ^ Хопкрофт и Ульман, 1979, стр. 229, упражнение 9.2.
Arc.Ask3.Ru: конец оригинального документа.
Arc.Ask3.Ru
Номер скриншота №: 3A875A5280A394A7B72DF88002BFA879__1715446380
URL1:https://en.wikipedia.org/wiki/Regular_grammar
Заголовок, (Title) документа по адресу, URL1:
Regular grammar - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть, любые претензии не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, денежную единицу можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)