Классы грамматик в соответствии с классификацией Хомского. — КиберПедия 

Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

Классы грамматик в соответствии с классификацией Хомского.

2021-03-18 96
Классы грамматик в соответствии с классификацией Хомского. 0.00 из 5.00 0 оценок
Заказать работу

1. Праволинейной (выровненной вправо) грамматикой называется грамматика G, если каждое правило из Р имеет вид

A ® xB или A ® x

где A, B – нетерминалы, x – цепочка, состоящая из терминалов

Например, грамматика G2 = ({ 0,1 }, { S }, S, P)

где P: S ® 0S;

   S ® 1S;

   S ® e,

определяет язык {0, 1}.

2. Контекстно-свободной (бесконтекстной) грамматикой (КС-грамматикой) называется грамматика G, если каждое правило из Р имеет вид:

A ® a

где A Î N, a Î (T È N)*, то есть является цепочкой, состоящей из множества терминалов и нетерминалов и может быть пустой.

Например, грамматика G3 = ({E, T, F}, {a, +, *, (,)}, P, E)

где P: E ® T

   E ® E + T

   T ® F

   T ® T * F

   F ® (E)

   F ® a.

порождает простейшие арифметические выражения.

Согласно определению, каждая праволинейная грамматика является контекстно- свободной.

НетерминалА контекстно-свободной грамматикиG = (T, N, S, P) для некоторых a и b, если a = ε, называется леворекурсивным, а если b = ε, называется праворекурсивным.

Грамматика G называется леворекурсивной (соответственно праворекурсивной), если в G имеется хотя бы один леворекурсивный (соответственно праворекурсивный) нетерминал.

Грамматика, в которой рекурсивны все нетерминалы (возможно, кроме, начального символа) называется рекурсивной.

3. Контекстно-зависимой (неукорачивающей) грамматикой (КЗ-грамматикой) называется грамматика G, если каждое правило из P имеет вид:

a ® b

где | a | £ | b |, то есть вновь порождаемые цепочки не могут быть короче, чем исходные, а также пустыми (другие ограничения отсутствуют).

Например, грамматика G = ({ a, b, c }, { B, C, S }, S, P)

где P: S ® aSBC;

   S ® abc;

   CB ® BC;

   bB ® bb;

   bC ® bc;

   cC ® с c,

порождает язык { a n b n c n }, n ≥ 1 (n >0).

По определению КЗ-грамматика не допускает правил А ® e, где e – пустая цепочка, т. е. КС-грамматика с пустыми цепочками в правой части правил не является контекстно-зависимой.

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

Наличие пустых цепочек ведет к грамматике без ограничений.

4. Грамматикой свободного (общего) вида(без ограничений) называется грамматика G, если в ней отсутствуют выше упомянутые ограничения.

Если язык L порождается грамматикой типа G, то L называется языком типа G.

Например, L(G) – КС-язык типа G.

Наиболее широкое применение при разработке трансляторов нашли КС-грамматики и порождаемые ими КС-языки.

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

Существуют языки, принадлежащие к типу i, но не к типу i + 1: например, язык грамматики Gi является контекстно-зависимым, но не контекстно-свободным, т. е. не существует контекстно-свободной грамматики, порождающий этот язык.

5. Способы записи синтаксиса языка

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

Метаязыки используются для задания грамматики языков программирования со времен Алгола 60. Еще раньше они начали использоваться при описании небольших языков в статьях, посвященных формальным грамматикам.

5.1. Метаязык Хомского.

Метаязык Хомского вышел из математической логики; имеет следующую систему обозначений:

· символ ® отделяет левую часть правила от правой; обозначает порождает или это есть;

· нетерминалы обозначаются буквой А с индексом, указывающим на его номер;

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

· каждое правило определяет порождение одной новой цепочки;

· один и тот же нетерминал может встречаться в нескольких правилах слева.

Описание идентификатора на метаязыке Хомского.

1. A1 ® A 2. A1 ® B … 26. A1 ® Z
27. A1 ® a 28. A1 ® b … 52. A1 ® z
53. A2 ® 0 54. A2 ® 1 … 62. A2 ® 9
63. A3 ® A1 64. A3 ® A3A1 65. A3 ® A3A2

Описание идентификатора на метаязыке Хомского показывает громоздкость метаязыка, поэтому его можно эффективно использовать только для описания небольших абстрактных языков.

5.2. Метаязык Хомского-Щутценберже.

Более компактное описание возможно с применением метаязыка Хомского-Щутценберже, использующего следующие обозначения метасимволов:

· символ = отделяет левую часть правила от правой (вместо символа ®);

· нетерминалы обозначаются буквой А с индексом, указывающим на его номер;

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

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

Введение возможности альтернативного перечисления позволило сократить описание языков.


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

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...

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

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.031 с.