7. előadás Környezetfüggetlen nyelvtanok

Hasonló dokumentumok
6. előadás A reguláris nyelvek jellemzése 2.

9. előadás Környezetfüggetlen nyelvek

6. előadás A reguláris nyelvek jellemzése 2.

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1.

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

Házi feladatok megoldása. Nyelvek felismerése. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 5. gyakorlat

Formális Nyelvek - 1. Előadás

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat

Chomsky-féle hierarchia

Formális nyelvek - 5.

Feladatok. 6. A CYK algoritmus segítségével döntsük el, hogy aabbcc eleme-e a G = {a, b, c}, {S, A, B, C}, P, S nyelvtan által generált nyelvnek!

ZH feladatok megoldásai

A Formális nyelvek vizsga teljesítése. a) Normál A vizsgán 60 pont szerezhet, amely két 30 pontos részb l áll össze az alábbi módon:

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete

Automaták és formális nyelvek

A digitális számítás elmélete


Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat.

Chomsky-féle hierarchia

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant!

MintaFeladatok 1.ZH Megoldások

Csempe átíró nyelvtanok

MintaFeladatok 1.ZH Megoldások

1 2. gyakorlat Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

Dicsőségtabló Beadós programozási feladatok

Formális Nyelvek - 1.

Véges automaták, reguláris nyelvek

Logika és számításelmélet. 10. előadás

Formális nyelvek - 9.

Automaták mint elfogadók (akceptorok)

A számítógépes nyelvészet elmélete és gyakorlata. Automaták

A digitális számítás elmélete

Feladatok. BNF,EBNF,szintaxisgráf

1. Reguláris kifejezések illeszkedése

Formális nyelvek és automaták

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések

Számításelmélet. Második előadás

A Számítástudomány alapjai

A Turing-gép. Formális nyelvek III.

A PÁRHUZAMOSSÁG VIZSGÁLATA A KLASSZIKUS FORMÁLIS NYELVEKHEZ KAPCSOLÓDÓAN. Nagy Benedek Debreceni Egyetem Informatikai Kar Számítógéptudományi Tanszék

Felismerhető nyelvek zártsági tulajdonságai II... slide #30. Véges nemdeterminisztikus automata... slide #21

Formális nyelvek és automaták előadások

6. előadás Környezetfüggetlen nyelvtanok/1.

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

1. Automaták által felismert szavak

Atomataelmélet: A Rabin Scott-automata

RE 1. Relációk Függvények. A diákon megjelenő szövegek és képek csak a szerző (Kocsis Imre, DE MFK) engedélyével használhatók fel!

Formális nyelvek előadások tavaszi félév

DISZKRÉT MATEMATIKA RENDEZETT HALMAZOKKAL KAPCSOLATOS PÉLDÁK. Rendezett halmaz. (a, b) R a R b 1. Reflexív 2. Antiszimmetrikus 3.

Alap fatranszformátorok II

A sorozat fogalma. függvényeket sorozatoknak nevezzük. Amennyiben az értékkészlet. az értékkészlet a komplex számok halmaza, akkor komplex

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2)

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény

9. előadás Veremautomaták 1.

(2004) by Data parancsnok Based on (not so much auditted) lectures of Dr. Radelecki Sándor

Formális nyelvek és automaták

1 2. előadás Matematikai és nyelvi alapfogalmak. dr. Kallós Gábor

Környezetfüggetlen nyelvtan. Formális nyelvek II. Környezetfüggetlen nyelvek és veremautomaták. Backus-Naur forma

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar

MintaFeladatok 2.ZH Megoldások

Nagy Gábor compalg.inf.elte.hu/ nagy ősz


Példák. Ismert a római számok halmaza, amely intuitív szintaxissal rendelkezik, hiszen pl.

ACTA ACADEMIAE PAEDAGOGICAE AGRIENSIS

LINEÁRIS EGYENLETRENDSZEREK október 12. Irodalom A fogalmakat, definíciókat illetően két forrásra támaszkodhatnak: ezek egyrészt elhangzanak

1. előadás: Halmazelmélet, számfogalom, teljes

Elemi algebrai eszközökkel megoldható versenyfeladatok Ábrahám Gábor, Szeged

Csima Judit október 24.

Bisonc++ tutorial. Dévai Gergely. A szabály bal- és jobboldalát : választja el egymástól. A szabályalternatívák sorozatát ; zárja le.

Emlékeztető: LR(0) elemzés. LR elemzések (SLR(1) és LR(1) elemzések)

Fordító részei. Fordító részei. Kód visszafejtés. Izsó Tamás szeptember 29. Izsó Tamás Fordító részei / 1

Diszkrét matematika 2.

Alap fatranszformátorok I. Oyamaguchi [3], Dauchet és társai [1] és Engelfriet [2] bebizonyították hogy egy tetszőleges alap

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy

ALGEBRAI NYELV- ÉS KÓDELMÉLET. Babcsányi István

Memo: Az alábbi, "természetes", Gentzen típusú dedukciós rendszer szerint készítjük el a levezetéseket.

FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK. LABORGYAKORLATOK

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Turing-gép május 31. Turing-gép 1. 1

Klasszikus algebra előadás. Waldhauser Tamás április 28.

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Permutációk véges halmazon (el adásvázlat, február 12.)

Nagy Gábor compalg.inf.elte.hu/ nagy ősz

Markov-láncok stacionárius eloszlása

Programok értelmezése

A szimplex algoritmus

Diszkrét matematika I.

minden x D esetén, akkor x 0 -at a függvény maximumhelyének mondjuk, f(x 0 )-at pedig az (abszolút) maximumértékének.

Oktatási Hivatal. 1 pont. A feltételek alapján felírhatók az. összevonás után az. 1 pont

Leképezések. Leképezések tulajdonságai. Számosságok.

1. előadás Matematikai és nyelvi alapok, Szintaktikai vizsgálat

KOVÁCS BÉLA, MATEMATIKA I.

4. SOROK. a n. a k (n N) a n = s, azaz. a n := lim

Fordítóprogramok szerkesztése Flex és Bison segítségével

f(x) vagy f(x) a (x x 0 )-t használjuk. lim melyekre Mivel itt ɛ > 0 tetszőlegesen kicsi, így a a = 0, a = a, ami ellentmondás, bizonyítva

Reguláris kifejezések 1.

Házi feladatok megoldása. Nyelvek használata adatszerkezetek, képek leírására

1. előadás Matematikai és nyelvi alapok, Szintaktikai vizsgálat

Átírás:

7. előadás dr. Kallós Gábor 2017 2018

Tartalom Bevezető Deriváció Előállított szó és nyelv Levezetési sorozat Reguláris nyelvtanok Reguláris nyelvekre vonatkozó 2. ekvivalencia tétel Konstrukciók (NVA RG, RG NVA) 2

Bevezető Eml.: Nyelvfelismerő eszközök (1) vs. nyelvgenerátorok (2) (1): Olyan eszköz, amely érvényes sztringeket fogad el, pl. DVA, NVA (2): Olyan eszköz, amely képes érvényes sztringeket előállítani, pl. reguláris kifejezés (Nem formális nyelvi környezetben mi is tudjuk mindezt :-)) A reguláris kifejezések nyelvgenerátorok Működésük nincs teljesen pontosan meghatározva, de szabályok korlátozzák Példa: RE1 = a(a* b*)b Működés Először kiírunk egy a -t Ezután kiírunk valamennyi a -t, vagy valamennyi b -t Végül kiírunk egy b -t Vannak összetettebb nyelvgenerátorok is, ezek a környezetfüggetlen nyelvtanok (CFG) 3

CFG példa: az előző nyelv előállítása, RE1 = a(a* b*)b Minden ilyen szó három részre bontható Vezető a, majd középső rész, végül záró b A CFG-k szabályokat alkalmaznak a sztringek előállítására Nincs pontosan előírva, hogy éppen melyik szabályt kell használni Első szabály: S amb jelentése: lehet S és M új szimbólum a nyelv egy szavára, ill. a szó középső részére Az új szimbólumok jelentését a szabályok fejezik ki Eszerint: a nyelv egy szava a -val kezdődik, Következő szabályok: M A és M B A és B megint új szimbólumok (valamennyi egymás utáni a, illetve b ) A és B még nincs végleges formában Eszerint: a középső rész lehet valamennyi egymás ut. a, vagy b A vagy kapcsolat két szabállyal írható le 4

CFG példa (folyt.) Eddigi szabályok (eml.) S amb, M A és M B További szabályok A e Azaz: a valamennyi egymást követő a akár lehet e is A aa Azaz: a valamennyi egymást köv. a lehet olyan is, hogy 1 db a után még további a -k következnek És hasonlóan B e B bb Egyszerűen igazolható, hogy a most bevezetett CFG ugyanazt e nyelvet generálja, mint RE1 Pontos definíció és jelölésrendszer hamarosan (nagybetűk = nemterminálisok stb.) 5

Bevezető és CFG példa (folyt.) A CFG működését általánosan leíró algoritmus Állítsuk elő az előző nyelvtannal aaab-t! (Szabályok: S amb, M A, M B, A e, A aa, B e, B bb) S-ből indulunk, és sorra alkalmazzuk a szabályokat S amb eredménye amb M A hatására aab keletkezik A aa alkalmazása aaab-t állítja elő, újra A aa-val létrejön aaaab Végül az A e szabállyal aaab-t kapjuk 6

Bevezető és CFG példa (folyt.) Miért is környezetfüggetlen a CFG? Tekintsük az előző példából w = aaab-t! Eml.: A aa alkalmazása aaab-t állítja elő, újra A aa-val létrejön aaaab Az aa és b szócskákat, amik körbeveszik A -t, A környezetének hívjuk w-ben De szintén A környezete a és e is Az A aa szabály azt mondja, hogy A mindig helyettesíthető (!) aa -val, függetlenül attól, hogy mi A környezete Nem minden nyelvtan ilyen (lásd később Chomsky 1 és Chomsky 0 kategória) Példa szabályokra, amelyek nem lehetnek benne egy CFG-ben aaab aba, SaS bba Itt az átírás függ a környezettől 7

Definíció (CFG) Környezetfüggetlen nyelvtan (Chomsky 2-típusú nyelvtan) (Context-Free Grammar, CFG): G = (V, Σ, R, S) egy rendezett négyes, ahol V egy ábécé Σ Va terminálisok halmaza R (V Σ) V* a szabályok halmaza (Itt V Σa nemterminálisok halmaza) S V Σa kezdőszimbólum Megjegyzések A nyelv egy szava csak (tiszta) terminálisokat tartalmaz A szabályok baloldalán most csak egy db nemterminális van; a jobboldalon tetsz. V*-beli szó állhat (CFG-nél) A nyelvtanok máskor is (általánosabb esetek) ilyen négyesek, csak a szabályok mások Más gyakori megadás a nyelvtanra G = (N, T, P, S), ahol N nemterminálisok, T terminálisok, P szabályok (pl. F. Z.) Egy (A, u) R szabály írható A G u alakba is 8

Definíció (deriváció, előállítás, egy lépésben) Egy lépésben történő előállítás, deriváció (one step derivation), G : Legyen x, y, z V*, A V Σ Ha A G y R, akkor xaz G xyz Jelölés: u = xaz, v = xyz esetén u G v írható Megjegyzések Ha nyilvánvaló, hogy melyik nyelvtanra hivatkozunk, akkor A y, xaz xyz és u v írható a fentiek helyett A környezet akár e is lehet A definíció nemcsak CFG-k esetén, hanem általánosabban is érvényes (lásd később) Példák S as esetén S as is érvényes, a környezetek e -k Ugyanekkor asa aasa is igaz, ekkor a környezetek a -k Hasonlóan, asbc aasbc érvényes, a környezetek a és BC 9

Definíció (deriváció, előállítás, általánosan) Valahány lépésben történő előállítás, ált. deriváció (derivation), G *: G reflexív, tranzitív lezártja A w 0 G w 1 G G w n sorozatot w n (szó) w 0 -ból történő (egy) levezetésének hívjuk (G-ben) Itt w 0, w 1,, w n V* Ha a deriváció pontosan n lépésből áll, akkor külön hangsúlyozható, hogy w 0 n w n Megjegyzések Az utolsó kivételével az összes w i biztosan tartalmaz nemterminálist Ha nyilvánvaló, hogy melyik nyelvtanra hivatkozunk, akkor w 0 w 1 stb. írható Ez a definíció is érvényes általánosabban is (lásd később) Példák Csak S as alkalmazásával S as aas aaas adódik, ez pl. egy S e-vel zárható Az előző nyelvtanra: S amb aab aaab aaaab aaab 10

Definíció (CFG által előállított szó, nyelv) G nyelvtan által előállított szó (string/word generated by G): w L(G), ha S G * w G nyelvtan által generált nyelv (language generated by G), L(G): Az előző w szavak halmaza, {w Σ* S G * w} Környezetfüggetlen nyelv (context-free language, CFL): Olyan L nyelv, amelyhez található G környezetfüggetlen nyelvtan úgy, hogy L = L(G) Megjegyzések Figyeljünk: a nyelvtan és a nyelv két különböző fogalom! Vannak általánosabb és speciálisabb nyelvtanok/nyelvek is; a reguláris nyelveket pl. speciálisabb nyelvtanok is előállítják (lásd később) 11

Példa (CFG megadása) Adjunk meg olyan G(V,Σ, R, S) nyelvtant, amire L = {a n b n Σ* n 0}! Itt Σ = {a, b}. Megoldás V = {S, a, b} R = {S asb, S e} Rövidebben/tömörebben: S asb e Egyszerűen igazolható (pl. indukcióval), hogy ez a nyelvtan valóban L-t állítja elő Levezetés példa: S asb aasbb aabb Először az S asb szabályt használtuk (2 ), majd végül S e-t Látjuk, hogy ez a nyelvtan egy nemreguláris nyelvet állít elő! Tehát van olyan CF nyelv, ami nemreguláris (de reguláris nyelv CF) 12

Példa (CFG-beli levezetés) Mely szavak vezethetők le legfeljebb 4 lépésben S-ből indulva a következő G = {V, Σ, R, S} nyelvtannal? V = {a, b, A, B, S} Σ = {a, b} R = {S A, S aba, S ab, A a, B Sb} Megoldás S G A G a S G ab G asb G aab G aab S G ab G asb G aabab G aabab S G ab G asb G aabb G aasbb (Nem érünk célhoz 4 lépésben) S G aba G aba Négy sikeres levezetést tudunk adni 13

Példa ( Miniangol ) Készítsünk CF (részleges) angol nyelvtant! Itt W = {S, A, N, V, P} Σ S a mondat (sentence), A a jelző (melléknév; adjective), N a főnév (noun), V az ige (verb), és P a kifejezés (phrase) Σ = {Jim, big, green, cheese, ate} Vigyázzunk, Σ elemei (angol) szavak! R = {P N AP, S PVP, A big green, N cheese Jim, V ate} A következők legális sztringek (szavak) L(G)-ben Jim ate cheese big Jim ate green cheese big cheese ate Jim Sajnos azonban a következők is big cheese ate green green big green big cheese green Jim ate green big Jim Tanulság: egy valós nyelv nem írható le (korrekt módon) CF nyelvtannal Lásd még: minimagyar (B. I. 18 20.) 14

Példa (programozási nyelv részlet) Készítsünk olyan G CF nyelvtant, amelyik elő tud állítani egyszerű szintaktikailag helyes aritmetikai kifejezéseket! Mint például: (id * id + id)*(id + id), de nem *id + Itt id tetsz. azonosító (identifier) lehet, például változónév, foglalt (nyelvi) szó vagy konstans G = (V, Σ, R, E), ahol V = {+,*, (, ), id, T, F, E} E kifejezés (expression), T tag (term), F faktor (factor) Σ = {+,*, (, ), id} R = {E E+T, E T, T T*F, T F, F (E), F id} (R1) (R2) (R3) (R4) (R5) (R6) 15

Példa (programozási nyelv részlet) Az (id * id + id)*(id + id) kifejezés előállítása (eml.: szabályok) E T (R2)-ből T * F (R3)-ból T * (E) (R5)-ből T * (E + T) (R1)-ből T * (T + T) (R2)-ből T * (F + T) (R4)-ből T * (id + T) (R6)-ból T * (id + F) (R4)-ből T *(id + id) (R6)-ból F *(id + id) (R4)-ből (E) *(id + id) (R5)-ből (E + T) *(id + id) (R1)-ből (E + F) *(id + id) (R4)-ből (E + id) *(id + id) (R6)-ból (T + id) *(id + id) (R2)-ből (T * F + id) *(id + id) (R3)-ból (id * id + id)*(id + id) (R6)-ból 16

Reguláris nyelvtanok Definíció (reguláris nyelvtan) Reguláris nyelvtan (Chomsky 3-típusú nyelvtan, jobblineáris nyt.) (Regular Grammar, RG): Egy speciális CFG, G = (V, Σ, R, S), ahol V, Σ és S ugyanaz, mint korábban (ábécé, terminálisok, kezdőszimb.) R (V Σ) Σ*(V Σ {e}) a szabályok halmaza (Itt V Σa nemterminálisok halmaza) Azaz: olyan CFG, ahol a szabályok jobboldalán csak max. egy nemterminális lehet, és az is csak a jobb szélen Példa G = (V, Σ, R, S), ahol V = {S, A, B, a, b} Σ = {a, b} R = {S ba ab e, A abas, B babs} Megj.: A e alakú szabályok megengedettek CFG és RG esetén is 17

Reguláris nyelvtanok Reguláris nyelvekre vonatkozó 2. ekvivalencia tétel Tétel: egy nyelv reguláris előállítható reguláris nyelvtannal Következmény: nyilván CFG-vel is előállíthatók a reguláris nyelvek! Bizonyítás, konstrukció Tfh. L reguláris, ekkor véges automatával felismerhető (eml.: 1. ekv. tétel); Legyen M(K, Σ,, s, F) olyan NVA, amire L = L(M) Készítsünk olyan G(V, Σ, R, S) RG-t, amire L(M) = L(G)! Legyen V = K Σ S = s K elemei lesznek G nemterminálisai (V Σ; Σ elemei a terminálisok) R = {q xp (q, x, p) } {q e q F}, azaz minden q pátmenetre x Σ(vagy esetleg Σ*) olvasásával található R-ben q xp szabály Megj.: Az automata átmenetei direkt módon nyelvtani szabályokká alakíthatók; egyszerű esetben ún. redukált nyelvtant kapunk Lásd még F. Z., körbebizonyítás 18

Reguláris nyelvtanok 2. ekvivalencia tétel (RL), bizonyítás (folyt.), ekvivalens működés igazolása (NVA RG) Tfh. w L(M)! w L(M) (s, w) w* (p, e), p F (elfogadás definíciójából) (p 0, w 1 w 2 w n ) w (p 1, w 2 w n ) w w (p n, e), p n F (a tranzitivitás miatt) Itt w = w 1 w 2 w n, p 0, p 1,... p n K, p 0 = s, p n = p (p 0, w 1 w 2 w n ) w (p 1, w 2 w n ), (p 1, w 2 w 3 w n ) w (p 2, w 3 w n ), átmenetek (p 0, w 1, p 1 ), (p 1, w 2, p 2 ),... (az egy lépésben történő előállítás (yield) definíciójából) átmenetek... szabályok: p 0 w 1 p 1, p 1 w 2 p 2, (G felépítéséből) szabályok p 0 w 1 p 1 w 1 w 2 p 2 w 1 w 2 w n p n s * wp n (az egy lépésben történő deriváció def.-ból és a tranzitivitásból; itt p 0,... p n V Σ) p n F p n e szabály (G felépítéséből) (p n e) (wp n we) (az egy lépésben történő előállítás (yield) def.-ból) s * wp n, wp n w s * w (a tranzitivitásból) s * w w L(G) (a G által generált sztring definíciójából) 19

Reguláris nyelvtanok 2. ekvivalencia tétel (RL),, konstrukció példa (NVA RG) Készítsünk olyan G = (V, Σ, R, S) RG-t, ami ekvivalens működésű az adott NVA-val! Eml.: V = K Σ; R = {q xp (q, x, p) } {q e q F} Megoldás V = {P, Q, a, b} Σ = {a, b} S = P R = {P ap, P bp, P abaq, Q aq, Q bq, Q e} a, b a, b aba Megj.: az aba átmenet (természetesen) feldarabolható, új állapotok bevezetésével Adjuk meg a számítási sorozatot és az előállítást a w = ababb szóra! Az automatára: (p, ababb) w (q, bb) w (q, b) w (q, e) A nyelvtanra: S = P abaq ababq ababbq ababb p q 20

Reguláris nyelvtanok 2. ekvivalencia tétel (RL),, konstrukció példa (NVA RG) Készítsünk olyan G = (V, Σ, R, S) RG-t, ami ekvivalens működésű az adott NVA-val! Eml.: V = K Σ; R = {q xp (q, x, p) } {q e q F} Megoldás V = {A, B, S, a, b} Σ = {a, b}, S = S R = {S as ba, A ab ba, B as ba, B e, S e} Adjuk meg a számítási sorozatot és az előállítást a w = babaa szóra! Az automatára: (S, babaa) w (A, abaa) w (B, baa) w (A, aa) w (B, a) w (S, e) A nyelvtanra: S ba bab baba babab babaas babaa S a a b B b b A a 21

Reguláris nyelvtanok 2. ekvivalencia tétel (RL) Eml.: egy nyelv reguláris előállítható reguláris nyelvtannal Bizonyítás (folyt.), konstrukció Tfh. L-et előállítja valamely G(V, Σ, R, S) RG Készítsünk olyan M(K, Σ,, s, F) NVA-t, amire L(M) = L(G)! Legyen K = (V Σ) {f}, ahol f V S = s F = {f} = {(A, w, B) A wb R; A, B V Σ; w Σ*} {(A, w, f) A w R; A V Σ; w Σ*}, azaz: a nyelvtan szabályai direkt módon automatásíthatóak Megj.: Ha -ban w Σ*-nál el akarjuk kerülni a sztring-címkéjű éleket, akkor a nyelvtan redukálható (ekvivalens nyelvtan) Lásd még F. Z., körbebizonyítás 22

Reguláris nyelvtanok 2. ekvivalencia tétel (RL), bizonyítás (folyt.), ekvivalens működés igazolása (RG NVA) Tfh. w L(G)! w L(G) S * w (a G által generált sztring definíciójából) S * w A 1 w 1 A 2 w 1 w 2 A 3 w 1 w 2 w n-1 A n w 1 w 2 w n (a tranzitivitásból) Ha w elérhető n lépésben, akkor ezek a lépések leírhatók egymás után Itt A 1, A 2, A n V Σ, A 1 = S, w = w 1 w 2 w n A 1 w 1 A 2 A 1 w 1 A 2, A 2 w 2 A 3,..., A n w n R szabályok (az egy lépésben történő deriváció def.-ból) szabályok (A 1, w 1, A 2 ), (A 2, w 2, A 3 ),... átmenetek (M felépítéséből) átmenetek... (A 1, w 1 w 2 w n ) w (A 2, w 2 w 3 w n ) w w (A n, w n ) (S, w) w* (A n, w n ) (az egy lépésben történő előállítás (yield) definíciójából) A n w n szabály (A n, w n, f) (M felépítéséből) (A n, w n, f) (A n, w n ) w (f, e) (az egy lépésben történő előállítás (yield) definíciójából) (S, w) w* (A n, w n ), (A n, w n ) w (f, e) (S, w) w* (f, e) (a tranzitivitásból) (S, w) w* (f, e), f F w L(M) (az elfogadás definíciójából) 23

Reguláris nyelvtanok 2. ekvivalencia tétel (RL),, konstrukció példa (RG NVA) Készítsünk olyan M NVA-t, ami ekvivalens működésű az adott G = (V, Σ, R, S) RG-vel! RG: Eml.: K = (V Σ) {f}, ahol f V, F = {f} = {(A, w, B) A wb R} {(A, w, f) A w R} V = {A, B, S, a, b} Σ = {a, b} S = S R = {S aa bb e, A abs, B bas a} Itt L(G) = (aab bba)*(ba e) Megoldás Adjuk meg az előállítást és a számítási sorozatot a w = aabbba szóra! Nyelvtan: S aa aabs aabbb aabbbas aabbba Automata: (S, aabbba) w (A, abbba) w (S, bba) w (B, ba) w (S, e) w (f, e) f e S ab a A b ba a B 24

Ajánlott irodalom Harry R. Lewis, Christos H. Papadimitriou: Elements of the Theory of Computation (2 nd ed.), Prentice-Hall, Upper Saddle River, 1998 Fülöp Zoltán: Formális nyelvek és szintaktikus elemzésük, Polygon, Szeged, 2001 Dömösi Pál és társai: Formális nyelvek és automaták, Elektronikus jegyzet, 2011 Bach Iván: Formális nyelvek, Typotex kiadó, Budapest, 2002 Alan P. Parkes: A Concise Introduction to Languages and Machines, Springer, London, 2008 25