1 / 21

Типы грамматик

Типы грамматик. правила формального языка представлены в виде p :  , Грамматику назовем грамматикой класса 0 , если никаких ограничений на правила не установлено (кроме одного:  не является словом языка). Класс языков, порожденных этой грамматикой обозначим как L0.

talasi
Download Presentation

Типы грамматик

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Типы грамматик • правила формального языка представлены в видеp: , Грамматику назовем грамматикой класса 0, если никаких ограничений на правила не установлено (кроме одного:  не является словом языка). Класс языков, порожденных этой грамматикой обозначим как L0

  2. Типы грамматик • правила формального языка представлены в видеp: , Грамматику назовем грамматикой класса 1 или контекстной грамматикой, если •  = 1A3 и  =1`3, где A –нетерминал. • Класс языков, порожденных этой грамматикой, обозначим как L1 - языки класса 1 или контекстные языки

  3. Типы грамматик • правила формального языка представлены в видеp: , Грамматику назовем грамматикой класса 2 или контекстно- свободной грамматикой (КС-грамматикой) , если  = A, где A -нетерминал. Класс языков, порожденных этой грамматикой, обозначим как L2 - языки класса 2 или контекстно свободные языки

  4. Типы грамматик • правила формального языка представлены в видеp: , Грамматику назовем грамматикой класса 3 или автоматной грамматикой, если  = A,  = aB либо  = a, где a –символ основного алфавита, A, B –нетерминалы Класс языков, порожденных этой грамматикой обозначим как L3 - автоматные языки

  5. Сопоставим каждому языку некоторое устройство с заданным множеством заключительных состояний и одним начальным состоянием. • Слово является словом языка, если оно, будучи поданным на вход устройства, переводит его из начального состояние в одно из заключительных. • Классификация Ноама Хомского • L0 ---Машина Тьюринга ;

  6. L1 ---Машина Тьюринга с ограничением на память = ЛОА (линейно-ограниченный автомат); При обработке слова длины n необходима лента машины Тьюринга не больше, чем С· nТеорема Ландсвера: множество цепочек, представимых в ЛОА есть язык типа 1. Но не утверждается, что для любого языка типа 1 найдется машина Тьюринга ==ЛОА. Это уже утверждает теорема Курода. • L2 ---Машина Тьюринга с ограничением на доступ к памяти == автомат с магазинной памятью L2 --- конечный автомат.

  7. автоматный язык связь между грамматикой автоматного языка и соответствующим ему автоматом. • Терминальными символами языка являются символы входного алфавита языка, т.е. V=Z. • За нетерминальные символы языка примем имена состояний автомата. • заключительных состояний может быть несколько, а аксиома в грамматике единственна. Введем пустой символ 

  8. Если определено несколько заключительных состояний, их можно свести к одному.   

  9. Состояния 6 и 4 заданы как заключительные

  10. семантика языка • Как видно, слова abb, abab, abaaaab, accb, acccb, bc, bccc будут словами языка; • слова, начинающиеся с c, bb, ba, aa, bcb, словами языка не являются. • Правила грамматики можно определить следующим образом. для каждого заключительного состояния сопоставим каждой заходящей в него дуге пару <исходящее состояние> <имя переменной>. Так, в состояние 6 из состояния 5 приходит дуга, отмеченная переменной b. Этому будет соответствовать правило • p1: 6 ::=5b

  11. Трём заходящим в вершину 4 дугам == правила • p2: 4::=1c • p3: 4::=5c • p4: 4::=2c • Затем для каждого состояния, кроме начального и тупикового, запишем правила для каждой заходящей в них дуги. Например, для состояния 5 это будут правила • p5: 5::= 1b • p6: 5::= 4c • p6: 5::= 5a

  12. Состояния 6 и 4 заданы как заключительные

  13. если дуга исходит из начальной вершины, имя её не указывается, т.е. правило приобретает вид как для вершин 1, 2, 3 • p7: 1::= a • p8: 2::= b • p9: 3::= c

  14. Состояния 6 и 4 заданы как заключительные

  15. приходим к следующему утверждению. • Теорема. В автоматных грамматиках правила всегда имеют вид A::= Bc или A::= c, где строчными символами обозначены терминальные, а прописными – нетерминальные символы.

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

  17. Недетерминированный автомат • Пустой переход ε ; • Несколько дуг по одному выходу • Поведение по bbab

  18. Лемма о накачке x (y P(x,y)& yT(x,y))  (y S(x,y) & y Q(y))) x ((y P(x,y)& yT(x,y))) V (y S(x,y) & y Q(y)))

  19. Лемма о накачке • (nɜN)α≤Z: |α|≥n) (uvw≤Z) (α =uvw, | uv |≤ n& |v |≥1 (i≤ N) (uv!iw) ≤Z ) то язык автоматный. • (nɜN)α≤Z: |α|≥n) (uvw≤Z) (α =uvw, | uv |≤ n& |v |≥1 (i≤ N) (uv!iw) ≤Z ) то язык не автоматный

  20. Спасибо за внимание

More Related