ICS-C2000 Tietojenkäsittelyteoria

Samankaltaiset tiedostot
uv n, v 1, ja uv i w A kaikilla

ICS-C2000 Tietojenkäsittelyteoria. Tähän mennessä: säännölliset kielet. Säännöllisten kielten pumppauslemma M :=

Rajoittamattomat kieliopit

T Syksy 2002 Tietojenkäsittelyteorian perusteet Harjoitus 8 Demonstraatiotehtävien ratkaisut

S BAB ABA A aas bba B bbs c

T Syksy 2006 Tietojenkäsittelyteorian perusteet T Harjoitus 7 Demonstraatiotehtävien ratkaisut

Chomskyn hierarkia ja yhteysherkät kieliopit

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

Mutta esimerkiksi 0-kertaisesti pumpattaessa: Siten L ei voi olla säännöllinen.

Olkoon G = (V,Σ,P,S) yhteydetön kielioppi. Välike A V Σ on tyhjentyvä, jos A. NULL := {A V Σ A ε on G:n produktio};

(0 1) 010(0 1) Koska kieli on yksinkertainen, muodostetaan sen tunnistava epädeterministinen q 0 q 1 q 2 q3

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 19. syyskuuta 2016

4. Tehtävässä halutaan todistaa seuraava ongelma ratkeamattomaksi:

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 19. tammikuuta 2012

Vasen johto S AB ab ab esittää jäsennyspuun kasvattamista vasemmalta alkaen:

Yhteydettömät kieliopit [Sipser luku 2.1]

Automaatit. Muodolliset kielet

Säännöllisten kielten sulkeumaominaisuudet

Testaa: Vertaa pinon merkkijono syötteeseen merkki kerrallaan. Jos löytyy ero, hylkää. Jos pino tyhjenee samaan aikaan, kun syöte loppuu, niin

Säännölliset kielet. Sisällys. Säännölliset kielet. Säännölliset operaattorit. Säännölliset kielet

Pinoautomaatit. Pois kontekstittomuudesta

6.5 Turingin koneiden pysähtymisongelma Lause 6.9 Kieli. H = {c M w M pysähtyy syötteellä w}

Äärellisten automaattien ja säännöllisten kielten ekvivalenssi

Kertausta 1. kurssikokeeseen

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 9. lokakuuta 2016

Täydentäviä muistiinpanoja Turingin koneiden vaihtoehdoista

8. Kieliopit ja kielet

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 2. helmikuuta 2012

2. Yhteydettömät kielet

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. marraskuuta 2015

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Laskennan mallit (syksy 2010) Harjoitus 8, ratkaisuja

M = (Q, Σ, Γ, δ, q 0, q acc, q rej )

Esimerkki 2.28: Tarkastellaan edellisen sivun ehdot (1) (3) toteuttavaa pinoautomaattia, jossa päätemerkit ovat a, b ja c ja pinoaakkoset d, e ja $:

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 6. kesäkuuta 2013 TIETOTEKNIIKAN LAITOS. Pinoautomaatit.

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 29. toukokuuta 2013

Ei-yhteydettömät kielet [Sipser luku 2.3]

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 10. kesäkuuta 2013

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 16. marraskuuta 2015

DFA:n käyttäytyminen ja säännölliset kielet

Yhteydettömän kieliopin jäsennysongelma

Osoitamme, että jotkut kielet eivät ole säännöllisiä eli niitä ei voi tunnistaa äärellisellä automaatilla.

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 3. joulukuuta 2015

Rajoittamattomat kieliopit (Unrestricted Grammars)

jäsennyksestä TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 29. syyskuuta 2016 TIETOTEKNIIKAN LAITOS Kontekstittomien kielioppien

Kaikki mitä olet aina halunnut tietää pumppauslemmoista, mutta mitä et ole kehdannut kysyä

Laskennan mallit (syksy 2010) Harjoitus 4, ratkaisuja

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 26. tammikuuta 2012

Pinoautomaatit. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 6. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

1. Universaaleja laskennan malleja

Tarkastelemme ensin konkreettista esimerkkiä ja johdamme sitten yleisen säännön, joilla voidaan tietyissä tapauksissa todeta kielen ei-säännöllisyys.

jäsentäminen TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 26. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

Rekursiivinen Derives on periaatteessa aivan toimiva algoritmi, mutta erittäin tehoton. Jos tarkastellaan esim. kieliopinpätkää

8. Kieliopit ja kielet 1 / 22

Algoritmin määritelmä [Sipser luku 3.3]

TIEA241 Automaatit ja kieliopit, kesä Antti-Juhani Kaijanaho. 22. toukokuuta 2013

Yllä osoitettiin, että säännöllisten kielten joukko on suljettu yhdisteen

M =(K, Σ, Γ,, s, F ) Σ ={a, b} Γ ={c, d} = {( (s, a, e), (s, cd) ), ( (s, e, e), (f, e) ), (f, e, d), (f, e)

δ : (Q {q acc, q rej }) (Γ k {, }) Q (Γ k {, }) {L, R}.

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 16. toukokuuta 2011

TIEA241 Automaatit ja kieliopit, kevät 2011 (IV) Antti-Juhani Kaijanaho. 31. maaliskuuta 2011

5.3 Ratkeavia ongelmia

ICS-C2000 Tietojenkäsittelyteoria

on rekursiivisesti numeroituva, mutta ei rekursiivinen.

ICS-C2000 Tietojenkäsittelyteoria

Hahmon etsiminen syotteesta (johdatteleva esimerkki)

Säännöllisen kielen tunnistavat Turingin koneet

Jos sekaannuksen vaaraa ei ole, samastamme säännöllisen lausekkeen ja sen esittämän kielen (eli kirjoitamme R vaikka tarkoitammekin L(R)).

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 5. marraskuuta 2015

Output. Input Automaton

Automaattiteoria diskreetin signaalinkäsittelyn perusmallit ja -menetelmät ( diskreettien I/O-kuvausten yleinen teoria)

Muita universaaleja laskennan malleja

11.4. Context-free kielet 1 / 17

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 12. lokakuuta 2016

Johdatus matemaattiseen päättelyyn

Muodolliset kieliopit

TIEA241 Automaatit ja kieliopit, kevät Antti-Juhani Kaijanaho. 12. tammikuuta 2012

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

5 Kontekstittomat kielet ja pinoautomaatit

jäsentämisestä TIEA241 Automaatit ja kieliopit, syksy 2015 Antti-Juhani Kaijanaho 27. marraskuuta 2015 TIETOTEKNIIKAN LAITOS

9.5. Turingin kone. Turingin koneen ohjeet. Turingin kone on järjestetty seitsikko

vaihtoehtoja TIEA241 Automaatit ja kieliopit, syksy 2016 Antti-Juhani Kaijanaho 13. lokakuuta 2016 TIETOTEKNIIKAN LAITOS

TKT20005 Laskennan mallit (syksy 2018) Kurssikoe, malliratkaisut

Säännöllisten operaattoreiden täydentäviä muistiinpanoja

Muunnelmia Turingin koneista sekä muita vaihtoehtoisia malleja

Σ on numeroituvasti ääretön. Todistus. Muodostetaan bijektio f : N Σ seuraavasti. Olkoon

TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 20. lokakuuta 2016

Vaihtoehtoinen tapa määritellä funktioita f : N R on

Rekursio. Funktio f : N R määritellään yleensä antamalla lauseke funktion arvolle f (n). Vaihtoehtoinen tapa määritellä funktioita f : N R on

ICS-C2000 Tietojenkäsittelyteoria

Turingin koneet. Sisällys. Aluksi. Turingin koneet. Turingin teesi. Aluksi. Turingin koneet. Turingin teesi

Laskennan rajoja. TIEA241 Automaatit ja kieliopit, syksy Antti-Juhani Kaijanaho. 10. joulukuuta 2015 TIETOTEKNIIKAN LAITOS.

815338A Ohjelmointikielten periaatteet Harjoitus 2 vastaukset

Turingin koneen laajennuksia

2.6 SÄÄNNÖLLISET LAUSEKKEET Automaattimalleista poikkeava tapa kuvata yksinkertaisia kieliä. Olkoot A ja B aakkoston Σ kieliä. Perusoperaatioita:

Esimerkki 1: Kahviautomaatti.

Täydentäviä muistiinpanoja jäsennysalgoritmeista

ICS-C2000 Tietojenkäsittelyteoria Kevät 2016

Formalisoimme nyt edellä kuvatun laskennan.

Täydentäviä muistiinpanoja laskennan rajoista

Transkriptio:

ICS-C2000 Tietojenkäsittelyteoria Luento 5: Säännöllisten kielten pumppauslemma; yhteydettömät kieliopit Aalto-yliopisto Perustieteiden korkeakoulu Tietotekniikan laitos Kevät 2016

Alue ja aiheet: Orposen prujun luvut 2.8 ja 3.1 3.2 Säännöllisten kielten pumppauslemma Kieliopin idea Yhteydettömien kielioppien toiminta Yhteydettömien kielioppien formaali määrittely Säännöllisten kielten ja yhteydettömien kielioppien yhteys 2/28

Tähän mennessä: säännölliset kielet q7 digit M :=. digit digit. digit q0 q1 q2 q3 exp exp exp digit digit q4 digit q6 +,- digit q5 tunnistaa L(M) = {.256,1.,3.14,2.3E 10,...} = L(r) kuvaa r := (dd.d.dd )(e(+ ε)dd ε) (dd e(+ ε)dd ) 3/28

Säännöllisten kielten pumppauslemma 4/28

2.8 Säännöllisten kielten rajoituksista Kardinaliteettisyistä on oltava olemassa (paljon) ei-säännöllisiä kieliä: kieliä on ylinumeroituva määrä, säännöllisiä lausekkeita vain numeroituvasti. Voidaanko löytää konkreettinen, mielenkiintoinen esimerkki kielestä, joka ei olisi säännöllinen? Helposti. Säännöllisten kielten perusrajoitus: äärellisillä automaateilla on vain rajallinen muisti. Siten ne eivät pysty ratkaisemaan ongelmia, joissa vaaditaan mielivaltaisen suurten lukujen tarkkaa muistamista. Esimerkki: sulkulausekekieli L match = {( k ) k k 0}. Formalisointi: pumppauslemma. 5/28

Lemma 2.6 (Pumppauslemma) Olkoon A säännöllinen kieli. Tällöin on olemassa sellainen p 1, että mikä tahansa x A, x p, voidaan jakaa osiin x = uvw siten, että uv p, v 1, ja uv i w A kaikilla i = 0,1,2,... Todistus. Olkoon M jokin A:n tunnistava deterministinen äärellinen automaatti, ja olkoon p M:n tilojen määrä. Tarkastellaan M:n läpikäymiä tiloja syötteellä x A, x p. Koska M jokaisella x:n merkillä siirtyy tilasta toiseen, sen täytyy kulkea jonkin tilan kautta (ainakin) kaksi kertaa itse asiassa jo x:n p:n ensimmäisen merkin aikana. Olkoon q ensimmäinen toistettu tila. Olkoon u M:n käsittelemä x:n alkuosa sen tullessa ensimmäisen kerran tilaan q, v se osa x:stä jonka M v käsittelee ennen ensimmäistä paluutaan q:hun, ja w q u w loput x:stä. Tällöin on uv p, v 1, ja uv i w A kaikilla i = 0,1,2,... 6/28

Esimerkki: Tarkastellaan em. sulkulausekekieltä (merk. ( = a, ) = b): L = L match = {a k b k k 0}. Oletetaan, että L olisi säännöllinen. Tällöin pitäisi pumppauslemman mukaan olla jokin p 1, jota pitempiä L:n merkkijonoja voidaan pumpata. Valitaan x = a p b p, jolloin x L ja x = 2p > p. Lemman mukaan x voidaan jakaa pumpattavaksi osiin x = uvw siten että uv p, v 1; on siis oltava u = a m, v = a n, w = a p (m+n) b p, m + n p, n 1. Mutta esimerkiksi 0-kertaisesti pumpattaessa Siten L ei voi olla säännöllinen. uv 0 w = a m a p (m+n) b p = a p n b p L. 7/28

Huom: on olemassa myös ei-säännöllisiä kieliä, joita voidaan pumpata pumppauslemmaa ei voida käyttää osoittamaan, että kieli on säännöllinen Esimerkiksi kieli {c r a k b k r 1,k 0} {a k b l k,l 0} ei ole säännöllinen mutta sen merkkijonoja voidaan pumpata 8/28

Yhteydettömät kieliopit 9/28

Case: Java-ohjelmien kielioppi public int max(int x, int y) { if(x > y) return x; return y; } Block: { BlockStatements } BlockStatements: { BlockStatement } BlockStatement: LocalVariableDeclarationStatement ClassOrInterfaceDeclaration [Identifier :] Statement Statement: Block if ParExpression Statement [else Statement] return [Expression] ;. ParExpression: ( Expression ) Täysi speksi sisältäen merkintöjen selityksen: Java SE language specification, Ch. 18 10/28

3. Kieliopit ja merkkijonojen tuottaminen Kielioppi = muunnossysteemi merkkijonojen (kielen sanojen ) tuottamiseen tietystä lähtöjonosta alkaen, osajonoja toistuvasti annettujen sääntöjen mukaan uudelleenkirjoittamalla. Kielioppi on yhteydetön, jos kussakin uudelleenkirjoitusaskelessa korvataan yksi erityinen muuttuja- t. välikesymboli jollakin siihen liitetyllä korvausjonolla, ja korvaus voidaan aina tehdä symbolia ympäröivän merkkijonon rakenteesta riippumatta. Sovelluksia: rakenteisten tekstien kuvaaminen (esim. ohjelmointikielten BNF-syntaksikuvaukset, XML:n DTD/Schema-määrittelyt), yleisemmin rakenteisten olioiden kuvaaminen (esim. syntaktinen hahmontunnistus). Esimerkkeinä ohjelmointikielistä: Python 3 -kielen kielioppi Java SE7 -kielen kielioppi 11/28

Yhteydettömillä kieliopeilla voidaan kuvata (tuottaa) myös ei-säännöllisiä kieliä. Esimerkki Yhteydetön kielioppi kielelle L match (lähtösymboli S): (i) S ε, (ii) S (S). Esimerkiksi merkkijonon ((())) tuottaminen: S (S) ((S)) (((S))) (((ε))) = ((())). 12/28

Esimerkki Kielioppi C-tyyppisen ohjelmointikielen aritmeettisille lausekkeille (yksinkertaistettu). E T E + T T F T F F a (E). Esimerkiksi lausekkeen (a + a) a tuottaminen: E T T F F F (E) F (E + T) F (T + T) F (F + T) F (a + T) F (a + F) F (a + a) F (a + a) a. 13/28

Määritelmä 3.1 Yhteydetön kielioppi on nelikko missä V on kieliopin aakkosto; G = (V,Σ,P,S), Σ V on kieliopin päätemerkkien joukko; sen komplementti N = V Σ on kieliopin välikemerkkien t. -symbolien joukko; P N V on kieliopin sääntöjen t. produktioiden joukko; S N on kieliopin lähtösymboli. Produktiota (A, ω) P merkitään tavallisesti A ω. 14/28

Merkkijono γ V tuottaa t. johtaa suoraan merkkijonon γ V kieliopissa G, merkitään γ G γ jos voidaan kirjoittaa γ = αaβ, γ = αωβ (α,β,ω V, A N), ja kieliopissa G on produktio A ω. Jos kielioppi G on yhteydestä selvä, voidaan merkitä γ γ. Merkkijono γ V tuottaa t. johtaa merkkijonon γ V kieliopissa G, merkitään γ G γ jos on olemassa jono V:n merkkijonoja γ 0,γ 1,...,γ n (n 0), siten että γ = γ 0, γ 0 G γ 1 G... G γ n, ja γ n = γ. Erikoistapauksena n = 0 saadaan γ G γ millä tahansa γ V. Jälleen, jos G on yhteydestä selvä, voidaan merkitä γ γ. 15/28

Merkkijono γ V on kieliopin G lausejohdos, jos on S G γ. Pelkästään päätemerkeistä koostuva G:n lausejohdos x Σ on G:n lause. Kieliopin G tuottama t. kuvaama kieli koostuu G:n lauseista: L(G) = {x Σ S G x}. Formaali kieli L Σ on yhteydetön, jos se voidaan tuottaa jollakin yhteydettömällä kieliopilla. 16/28

Esimerkki Tasapainoisten sulkujonojen muodostaman kielen L match = {( k ) k k 0} tuottaa kielioppi Esimerkki G match = ({S,(,)},{(,)},{S ε,s (S)},S). Yksinkertaisten aritmeettisten lausekkeiden muodostaman kielen L expr tuottaa kielioppi G expr = (V,Σ,P,E), missä V = {E,T,F,a,+,,(,)}, Σ = {a,+,,(,)}, P = {E T, E E + T, T F, T T F, F a, F (E)}. 17/28

Esimerkki Toinen kielioppi kielen L expr tuottamiseen on missä V = {E,a,+,,(,)}, Σ = {a,+,,(,)}, G expr = (V,Σ,P,E), P = {E E + E, E E E, E a, E (E)}. Huom: Vaikka kielioppi G expr näyttää yksinkertaisemmalta kuin kielioppi G expr, sen ongelmana on ns. rakenteellinen moniselitteisyys, mikä on monesti ei-toivottu ominaisuus. 18/28

Vakiintuneita merkintätapoja Välikesymboleita: A,B,C,...,S,T. Päätemerkkejä: kirjaimet a,b,c,...,s,t numerot 0,1,...,9 erikoismerkit (sulut jne) lihavoidut tai alleviivatut varatut sanat (if, for, end,... ). Mielivaltaisia merkkejä (kun välikkeitä ja päätteitä ei erotella): X,Y,Z. Päätemerkkijonoja: u,v,w,x,y,z. Sekamerkkijonoja: α,β,γ,...,ω. 19/28

Produktiot, joilla on yhteinen vasen puoli A, voidaan kirjoittaa yhteen: joukon sijaan kirjoitetaan A ω 1, A ω 2,...A ω k A ω 1 ω 2... ω k. Kielioppi esitetään usein pelkkänä sääntöjoukkona: A 1 ω 11... ω 1k1 A 2 ω 21... ω 2k2. A m ω m1... ω mkm. Tällöin päätellään välikesymbolit edellisten merkintäsopimusten mukaan tai siitä, että ne esiintyvät sääntöjen vasempina puolina; muut esiintyvät merkit ovat päätemerkkejä. Lähtösymboli on tällöin ensimmäisen säännön vasempana puolena esiintyvä välike; tässä siis A 1. 20/28

Eräitä konstruktioita Olkoon L(T) välikkeestä T johdettavissa olevien päätejonojen joukko. Olkoon annettu produktiokokoelma P, jossa ei esiinny välikettä A, ja jolla B:stä voidaan johtaa L(B) ja vastaavasti C:stä L(C). Lisäämällä P:hen jokin seuraavista produktioista saadaan uusia kieliä: produktio A B C A BC A AB ε (vasen rekursio) tai A BA ε (oikea rekursio) kieli yhdiste L(A) = L(B) L(C) katenaatio L(A) = L(B)L(C), ja Kleenen sulkeuma L(A) = (L(B)) Näiden avulla saadaan melko suoraviivaisesti todistettua: Seuraus Yhteydettömien kielten luokka on suljettu yhdiste-, katenaatio- ja sulkeumaoperaatioiden suhteen. Eli jos kielet L 1,L 2 Σ ovat yhteydettömiä, niin samoin ovat kielet L 1 L 2, L 1 L 2 ja L1. 21/28

Välikkeiden keskeisupotus on yhteydettömille kieliopeille ominainen konstruktio, joka tekee usein (muttei aina) kielestä epäsäännöllisen: lisäämällä produktio A BAC ε saadaan L(A) = L(B) i L(C) i. i=0 22/28

3.2 Säännölliset kielet ja yhteydettömät kieliopit Yhteydettömillä kieliopeilla voidaan siis kuvata joitakin ei-säännöllisiä kieliä (esimerkiksi kielet L match ja L expr ). Osoitetaan, että myös kaikki säännölliset kielet voidaan kuvata yhteydettömillä kieliopeilla. Yhteydettömät kielet ovat siten säännollisten kielten aito yliluokka. Yhteydetön kielioppi on oikealle lineaarinen, jos sen kaikki produktiot ovat muotoa A ab tai A ε, ja vasemmalle lineaarinen, jos sen kaikki produktiot ovat muotoa A Ba tai A ε. Osoittautuu, että sekä vasemmalle että oikealle lineaarisilla kieliopeilla voidaan tuottaa täsmälleen säännölliset kielet, minkä takia näitä kielioppeja nimitetään myös yhteisesti säännöllisiksi. Todistetaan tässä väite vain oikealle lineaarisille kieliopeille. 23/28

Lause 3.1 Jokainen säännöllinen kieli voidaan tuottaa oikealle lineaarisella kieliopilla. Todistus Olkoon L aakkoston Σ säännöllinen kieli, ja olkoon M = (Q,Σ,δ,q 0,F) sen tunnistava (deterministinen tai epädeterministinen) äärellinen automaatti. Muodostetaan kielioppi G M, jolla on L(G M ) = L(M) = L. Kieliopin G M pääteaakkosto on sama kuin M:n syöteaakkosto Σ, ja sen välikeaakkostoon otetaan yksi välike A q kutakin M:n tilaa q kohden. Kieliopin lähtösymboli on A q0, ja sen produktiot vastaavat M:n siirtymiä: (i) kutakin M:n lopputilaa q F kohden kielioppiin otetaan produktio A q ε; (ii) kutakin M:n siirtymää q a q (so. q δ(q,a)) kohden kielioppiin otetaan produktio A q aa q. 24/28

Esimerkki Automaatti: a, b b 1 b 2 Vastaava kielioppi: A 1 aa 1 ba 1 ba 2 A 2 ε ba 2. 25/28

Konstruktion oikeellisuuden tarkastamiseksi merkitään välikkeestä A q tuotettavien päätejonojen joukkoa L(A q ) = {x Σ A q GM x}. Induktiolla merkkijonon x pituuden suhteen voidaan osoittaa, että kaikilla q on x L(A q ) joss (q,x) M (q f,ε) jollakin q f F. Erityisesti on siis L(G M ) = L(A q0 ) = {x Σ (q 0,x) (q f,ε) M jollakin q f F} = L(M) = L. 26/28

Lause 3.2 Jokainen oikealle lineaarisella kieliopilla tuotettava kieli on säännöllinen. Todistus Olkoon G = (V, Σ, P, S) oikealle lineaarinen kielioppi. Muodostetaan kielen L(G) tunnistava epädeterministinen äärellinen automaatti M G = (Q,Σ,δ,q S,F) seuraavasti: M G :n tilat vastaavat G:n välikkeitä: Q = {q A A V Σ}. M G :n alkutila on lähtösymbolia S vastaava tila q S. M G :n syöteaakkosto on G:n pääteaakkosto Σ. M G :n siirtymäfunktio δ jäljittelee G:n produktioita siten, että kutakin a produktiota A ab kohden automaatissa on siirtymä q A qb (so. q B δ(q A,a)). 27/28

M G :n lopputiloja ovat ne tilat, joita vastaaviin välikkeisiin liittyy G:ssä ε-produktio: F = {q A Q A ε P}. Konstruktion oikeellisuus voidaan jälleen tarkastaa induktiolla G:n tuottamien ja M G :n hyväksymien merkkijonojen pituuden suhteen. 28/28