Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Грамматики с ограничениями на правила

Некоторые свойства грамматик.

Понятие выводимости

Примеры грамматик

Грамматика, порождающая язык {0n1n | n≥0} имеет вид: G0= ({0,1}, {S}, S, P)

T N S P

где P = {S→0S1, S→ε}.

Грамматика, порождающая язык {ambn | m,n ≥ 0} имеет вид: G1= ({a,b}, {S,A,B}, S, P)

T N S P

где набор правил определяется следующим образом:

P = {S→AB, A→aA, A→ε, B→bB, B→ε}

Отношение ÞG непосредственного вывода на множестве (T È N)* – j ÞG y означает, что y непосредственно выводима из j для грамматики G = (T, N, P, S), т. е, если abg – цепочка из множества (T È N)* и b ® d – правило из Р, то abg ÞG adg

Транзитивное замыкание отношения ÞG+ (нетривиальный вывод за один и более шагов) — j ÞG+ y означает, что y выводима из j нетривиальным образом (возможно за несколько шагов).

Рефлексивное и транзитивное замыканиеотношения ÞG* (вывод за нуль и более шагов) — j ÞG* y означает, что y выводима из j.

Пусть Þk k-я степень отношения Þ, тогда, если a Þk b, то существует последовательность a0a1a2a3 ... ak из к+1 цепочек:

a = a0, a1,... ai -1 Þ ai,, 1 ≤ i ≤ k и ak = b

Выводы для грамматики G1 = ({0, 1}, {A, S}, S, P):

Т N S P

S Þ 0A1 Þ 00A11 Þ 0011 — S порождает...

S Þ1 0A1; S Þ2 00A11; S Þ3 0011 – i -тая степень отношения

S Þ+ 0A1; S Þ+ 00A11; S Þ+ 0011 – транзитивное замыкание отношения

S Þ* S; S Þ* 0A1; S Þ* 00A11; S Þ* 0011 – рефлексивное и транзитивное замыкание отношения

где 0011 Ì L(G1) – принадлежит языку L грамматики G1

Эквивалентность грамматик – это, когда различные грамматики порождают один и тот же язык, т. е. грамматики G1 и G2 будут эквивалентными, если L(G1) = L(G2).

Например, G1 = ({0,1}, {A,S}, S, P1) и G2 = ({0,1}, {S}, S, P2)

где P1: S → 0A1

P2: S → 0S1 | 01 (| – знак или)

0A → 00A1

A → ε

эквивалентны, т. к. обе порождают язык L(G1) = L(G2) = {0n1n | n>0}

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

Определение грамматик не накладывает никаких ограничений на количество нетерминалов в левой части правил:

Грамматика G=({a,b,c},{S,B,C},S,P), где P содержит следующие правила:

P = {S→aSBC, S→abC, CB→BC, bB→bb, bC→bc, cC→cc}

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

В грамматике G=({0,1},{А,S},S,P), где P = {S → 0A, 0A → 00A1, S → ε} — левая часть одного из правил содержит пару из терминального и нетерминального символа.

Эквивалентная ей грамматика G1 = ({0,1}, {A,S}, S, P1), где

P1: S → 0A1

0A → 00A1

A → ε

Соглашение – альтернатива правила вывода из цепочки: для записи правил вывода с одинаковыми левыми частями α → β1 α → β2... α → βn пользуются сокращенной записью через операцию или: α → β1 | β2 |...| βn; каждое βi (i= 1, 2,..., n) называется альтернативой правила вывода из цепочки α.

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

<== предыдущая лекция | следующая лекция ==>
Язык, порождаемый грамматикой, и сентенциальная форма в грамматике | Способы записи синтаксиса языка. Классы грамматик в соответствии с классификацией Хомского
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 653; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.