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

Méret: px
Mutatás kezdődik a ... oldaltól:

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

Átírás

1 Emlékeztető Emlékeztető: LR(0) elemzés A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Emlékeztető Emlékeztető: LR(0) elemzés Emlékeztető Emlékeztető: LR(0) elemzés A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. Léptetés: egy új szimbólumot teszünk a bemenetről a verem tetejére. Redukálás: a verem tetején lévő szabály-jobboldalt helyettesítjük a szabály bal oldalán álló nemterminálissal. A lexikális által előállított szimbólumsorozatot balról jobbra olvassuk, a szimbólumokat az vermébe tesszük. Léptetés: egy új szimbólumot teszünk a bemenetről a verem tetejére. Redukálás: a verem tetején lévő szabály-jobboldalt helyettesítjük a szabály bal oldalán álló nemterminálissal. LR(0): az alkalmazandó műveletről előreolvasás nélkül döntünk. A háttérben egy véges determinisztikus automata működik: az automata átmeneteit a verem tetejére kerülő szimbólumok határozzák meg ha az automata végállapotba jut, redukálni kell egyéb állapotban pedig léptetni Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Emlékeztető Emlékeztető: LR(0) elemzés Emlékeztető Emlékeztető: LR(0) elemzés Az automata állapotai a kanonikus halmazok. Melyik szabály építésében hol tartunk éppen? elemei az LR(0)-elemek Kanonikus halmaz és jelentése A {[S a.ad], [A.bA], [A.c]} kanonikus halmaz jelentése: Lezárás Lezárás (closure) művelet: segítségével adhatók meg az egy kanonikus halmazba tartozó LR(0)-elemek. closure([s a.ad]) = {[S a.ad], [A.bA], [A.c]} Az adott állapotban az S aad, A ba és A c szabályok jobboldalait építhetjük. A S aad szabályból az a szimbólumot már elemeztük, az Ad rész még hátra van. A másik két szabály építése most kezdődhet. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

2 Emlékeztető Emlékeztető: LR(0) elemzés Emlékeztető Emlékeztető: LR(0) elemzés Lezárás Lezárás (closure) művelet: segítségével adhatók meg az egy kanonikus halmazba tartozó LR(0)-elemek. closure([s a.ad]) = {[S a.ad], [A.bA], [A.c]} S A a b 0 b d A c S aad c A c A ba Olvasás Olvasás (read) művelet: megadja, hogy egy kanonikus halmazból egy adott szimbólum olvasásával melyik kanonikus halmazba jutunk. Ezek lesznek az automata átmenetei. read({[s a.ad], [A.bA], [A.c]}, b) = = closure([a b.a]) = = {[A b.a], [A.bA], [A.c]}... I = {[S a.ad], [A.bA], [A.c]}... I = read(i, b) = {[A b.a], [A.bA], [A.c]} I = read(i, c) = read(i, c) = {[A c.]} Elfogadó állapot: a hozzá tartozó elemeknek a végén van a pont Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Emlékeztető Emlékeztető: LR(0) elemzés Konfliktusok S A a b 0 b d A c S aad c A c A ba Az LR(0) tulajdonság biztosította, hogy a táblázat egy cellájába sem kerül két különböző műveletet, azaz a táblázat konfliktusmentes. Mi történik, ha nem LR(0) a grammatika? állapot akció S A a b c d 0 léptetés léptetés léptetés léptetés redukálás (A c) redukálás (S aad) redukálás (A ba) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Konfliktusok Az LR(0) tulajdonság biztosította, hogy a táblázat egy cellájába sem kerül két különböző műveletet, azaz a táblázat konfliktusmentes. Mi történik, ha nem LR(0) a grammatika? A helyes zárójelezés (S)S Konfliktusok Az LR(0) tulajdonság biztosította, hogy a táblázat egy cellájába sem kerül két különböző műveletet, azaz a táblázat konfliktusmentes. Mi történik, ha nem LR(0) a grammatika? A helyes zárójelezés (S)S S S (S)S (S) () S S (S)S (S) ((S)S) ((S)) (()) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

3 Konfliktusok : helyes zárójelezés Az LR(0) tulajdonság biztosította, hogy a táblázat egy cellájába sem kerül két különböző műveletet, azaz a táblázat konfliktusmentes. Mi történik, ha nem LR(0) a grammatika? A helyes zárójelezés (S)S S S (S)S (S) () S S (S)S (S) ((S)S) ((S)) (()) Az piros részek elolvasása után: az első esetben szerinti redukciót kell végrahajtani, a második esetben léptetni kell. Előreolvasás nélkül nem tudunk dönteni, nem LR(0) grammatika. grammatika S 0 S (S)S I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) : helyes zárójelezés : helyes zárójelezés grammatika (S)S 0 S I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} grammatika (S)S 0 S ( I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) : helyes zárójelezés : helyes zárójelezés grammatika (S)S 0 S ( S I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} I = read(i, S) = {[S (S.)S]} grammatika (S)S 0 S ( S ( I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} I = read(i, S) = {[S (S.)S]} read(i, () = {[S (.S)S], [S.], [S.(S)S]} = I Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

4 : helyes zárójelezés grammatika (S)S 0 S ( S ) ( I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} I = read(i, S) = {[S (S.)S]} read(i, () = {[S (.S)S], [S.], [S.(S)S]} = I I = read(i, )) = {[S (S).S], [S.], [S.(S)S]} : helyes zárójelezés grammatika (S)S 0 S ( S ) S ( I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} I = read(i, S) = {[S (S.)S]} read(i, () = {[S (.S)S], [S.], [S.(S)S]} = I I = read(i, )) = {[S (S).S], [S.], [S.(S)S]} I = read(i, S) = {[S (S)S.]} S (S)S Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) : helyes zárójelezés grammatika (S)S 0 S ( S ) S ( ( I 0 = closure([s.s]) = {[S.S], [S.], [S.(S)S]} I = read(i 0, S) = {[.]} I = read(i 0, () = {[S (.S)S], [S.], [S.(S)S]} I = read(i, S) = {[S (S.)S]} read(i, () = {[S (.S)S], [S.], [S.(S)S]} = I I = read(i, )) = {[S (S).S], [S.], [S.(S)S]} I = read(i, S) = {[S (S)S.]} read(i, () = {[S (.S)S], [S.], [S.(S)S]} = I Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) S (S)S Konfliktusok az LR(0) táblázatban 0 S ( S ) S ( ( S (S)S akció S ( ) 0 léptetés / redukálás () léptetés / redukálás () léptetés léptetés / redukálás () ( redukálás (S (S)S) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) alapötlete Olvassunk előre egy szimbólumot! léptessünk, ha az automata tud lépni az előreolvasott szimbólummal redukáljunk, ha az előreolvasott szimbólum benne van a szabályhoz tartozó nemterminális FOLLOW halmazában alapötlete Olvassunk előre egy szimbólumot! léptessünk, ha az automata tud lépni az előreolvasott szimbólummal redukáljunk, ha az előreolvasott szimbólum benne van a szabályhoz tartozó nemterminális FOLLOW halmazában A helyes zárójelezés S S (S)S (S) () S S (S)S (S) ((S)S) ((S)) (()) I = {[S (.S)S], [S.], [S.(S)S]} Az piros részek elolvasása után I állapotban van az automata: az első esetben szerinti redukciót kell végrahajtani, mert ) FOLLOW (S). a második esetben léptetni kell, mert [S.(S)S] I. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

5 szabályai Ha az aktuális állapot i, és az előreolvasás eredménye az a szimbólum: ha [A α.aβ] I i és read(i i, a) = I j, akkor léptetni kell, és átlépni a j állapotba, ha [A α.] I i (A S ) és a FOLLOW (A), akkor redukálni kell A α szabály szerint, ha [] I i és a = #, akkor el kell fogadni a szöveget, minden más esetben hibát kell jelezni. Ha az i állapotban A kerül a verem tetejére: ha read(i i, A) = I j, akkor át kell lépni a j állapotba, egyébként hibát kell jelezni. A helyes zárójelezés SLR() táblázata 0 S ( S ) S ( ( S (S)S FOLLOW (S) = { ), # } 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) S Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

6 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) S ) S ) S S ) S Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) S ) S S S ) S Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) ) S S ) S S ) S S Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

7 SLR() grammatika 0 léptetés, redukálás () redukálás () léptetés, redukálás () redukálás () léptetés, léptetés, redukálás () redukálás () redukálás (S (S)S) redukálás (S (S)S) S OK Definíció: SLR() grammatika Egy kiegészített grammatika SLR() grammatika, ha az SLR() táblázata konfliktusmentes. elnevezés: Simple LR jobb, mint az LR(0) a valódi programnyelvek nyelvtanai általában nem SLR() nyelvtanok 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel grammatika grammatika S U E U a E V = V V a Egy program az egy utasítás vagy egy értékadás. Egy utasítás az egy azonosító szimbólum. Egy értékadás változó legyen egyenlő változó alakú. Egy változó az egy azonosító szimbólum. S U E U a E V = V V a Egy program az egy utasítás vagy egy értékadás. Egy utasítás az egy azonosító szimbólum. Egy értékadás változó legyen egyenlő változó alakú. Egy változó az egy azonosító szimbólum. I 0 = {[S.S], [S.U], [S.E], [U.a], [E.V = V ], [V.a]}... I = read(i 0, a) = {[U a.], [V a.]} Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel grammatika S U E U a E V = V V a Egy program az egy utasítás vagy egy értékadás. Egy utasítás az egy azonosító szimbólum. Egy értékadás változó legyen egyenlő változó alakú. Egy változó az egy azonosító szimbólum. I = read(i 0, a) = {[U a.], [V a.]} FOLLOW (U) = {#} és FOLLOW (V ) = {=,#} Redukálás / redukálás konfliktus! I 0 = {[S.S], [S.U], [S.E], [U.a], [E.V = V ], [V.a]}... I = read(i 0, a) = {[U a.], [V a.]} FOLLOW (U) = {#} és FOLLOW (V ) = {=,#} Redukálás / redukálás konfliktus! Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

8 Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel Probléma az SLR() elemzéssel I = read(i 0, a) = {[U a.], [V a.]} FOLLOW (U) = {#} és FOLLOW (V ) = {=,#} Redukálás / redukálás konfliktus! Az a# szövegből az a elolvasása után az SLR() nem tud dönteni a U a és V a szerinti redukciók között, mert a következő szimbólum (#) benne van az U és a V FOLLOW halmazában is. I = read(i 0, a) = {[U a.], [V a.]} FOLLOW (U) = {#} és FOLLOW (V ) = {=,#} Redukálás / redukálás konfliktus! Az a# szövegből az a elolvasása után az SLR() nem tud dönteni a U a és V a szerinti redukciók között, mert a következő szimbólum (#) benne van az U és a V FOLLOW halmazában is. Pedig a szöveg elején a V -t csak az = szimbólum követheti... Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) alapötlete alapötlete a FOLLOW halmaz globális az egész grammatikára előfordulhat, hogy egy adott állapotban a FOLLOW halmaznak nem minden eleme követheti a szabályt a FOLLOW halmaz globális az egész grammatikára előfordulhat, hogy egy adott állapotban a FOLLOW halmaznak nem minden eleme követheti a szabályt Vegyük hozzá az LR(0) elemekhez azokat a szimbólumokat, amik követhetik a szabályt az adott állapotban! Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) LR() elemek Az létrehozása LR() elemek Az létrehozása Definíció: LR() elem Ha A α a grammatika egy helyettesítési szabálya, akkor az α = α α tetszőleges felbontás és a terminális szimbólum (vagy a = #) esetén [A α.α, a] a grammatika egy LR()-eleme. A α.α az LR() elem magja, a pedig az előreolvasási szimbóluma. Definíció: LR() elem Ha A α a grammatika egy helyettesítési szabálya, akkor az α = α α tetszőleges felbontás és a terminális szimbólum (vagy a = #) esetén [A α.α, a] a grammatika egy LR()-eleme. A α.α az LR() elem magja, a pedig az előreolvasási szimbóluma. [V a., =] jelentése: a V a szabály építését befejeztük és a szabályt az = szimbólum követheti. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

9 A lezárás művelet Az létrehozása A lezárás művelet Az létrehozása Ha [V.V = V, #] állapotban vagyunk, akkor a V a szabályt kezdhetjük építeni, amit az = szimbólum követhet. Tehát az adott kanonikus halmazhoz [V.a, =] is hozzátartozik. Ha [V.V = V, #] állapotban vagyunk, akkor a V a szabályt kezdhetjük építeni, amit az = szimbólum követhet. Tehát az adott kanonikus halmazhoz [V.a, =] is hozzátartozik. Definíció: lezárás (closure) Ha I a grammatika egy LR() elemhalmaza, akkor closure(i) a legszűkebb olyan halmaz, amely az alábbi tulajdonságokkal rendelkezik: I closure(i) ha [A α.bγ,a] closure(i), és B β a grammatika egy szabálya, akkor b FIRST (γa) esetén [B.β,b] closure(i) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az olvasás művelet Az létrehozása Az olvasás művelet Az létrehozása Ha [V.V = V, #] állapotban vagyunk, és V kerül a verem tetejére, akkor [V V. = V, #] állapotba jutunk. Ha [V.V = V, #] állapotban vagyunk, és V kerül a verem tetejére, akkor [V V. = V, #] állapotba jutunk. Definíció: olvasás (read) Ha I a grammatika egy LR() elemhalmaza, X pedig terminális vagy nemterminális szimbóluma, akkor read(i, X ) a legszűkebb olyan halmaz, amely az alábbi tulajdonsággal rendelkezik: ha [A α.x β,a] I, akkor closure([a αx.β,a]) read(i, X ). Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) LR() kanonikus halmazok Az létrehozása szabályai Az létrehozása Definíció: LR() kanonikus halmazok closure([s.s, #]) a grammatika egy kanonikus halmaza. Ha I a grammatika egy kanonikus elemhalmaza, X egy terminális vagy nemterminális szimbóluma, és read(i, X ) nem üres, akkor read(i, X ) is a grammatika egy kanonikus halmaza. Az első két szabállyal az összes kanonikus halmaz előáll. Ha az aktuális állapot i, és az előreolvasás eredménye az a szimbólum: ha [A α.aβ, b] I i és read(i i, a) = I j, akkor léptetni kell, és átlépni a j állapotba, ha [A α., a] I i (A S ), akkor redukálni kell A α szabály szerint, ha [., #] I i és a = #, akkor el kell fogadni a szöveget, minden más esetben hibát kell jelezni. Ha az i állapotban A kerül a verem tetejére: ha read(i i, A) = I j, akkor át kell lépni a j állapotba, egyébként hibát kell jelezni. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

10 grammatika S U E U a E V = V V a grammatika S U E U a E V = V V a 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} I = read(i 0, a) = {[U a., #], [V a., =]} Nincs konfliktus! 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

11 grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} I = read(i 0, a) = {[U a., #], [V a., =]} Nincs konfliktus! I = read(i 0, V ) = {[E V. = V, #]} grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} I = read(i 0, a) = {[U a., #], [V a., =]} Nincs konfliktus! I = read(i 0, V ) = {[E V. = V, #]} I = read(i, =) = {[E V =.V, #], [V.a, #]} 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} I = read(i 0, a) = {[U a., #], [V a., =]} Nincs konfliktus! I = read(i 0, V ) = {[E V. = V, #]} I = read(i, =) = {[E V =.V, #], [V.a, #]} I = read(i, V ) = {[E V = V., #]} grammatika S U E U a E V = V V a I = read(i 0, S) = {[., #]} I = read(i 0, U) = {[S U., #]} I = read(i 0, E) = {[S E., #]} I = read(i 0, a) = {[U a., #], [V a., =]} Nincs konfliktus! I = read(i 0, V ) = {[E V. = V, #]} I = read(i, =) = {[E V =.V, #], [V.a, #]} I = read(i, V ) = {[E V = V., #]} I = read(i, a) = {[V a., #]} 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az táblázat kitöltése Az táblázat kitöltése I 0 read(i 0, S) = I x = # S U E V 0 I 0 = {[S.S, #],[S.U, #], [S.E, #], [U.a, #], read(i 0, U) = I x = # S U E V 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

12 Az táblázat kitöltése Az táblázat kitöltése I 0 = {[S.S, #], [S.U, #],[S.E, #], [U.a, #], read(i 0, E) = I x = # S U E V 0 I 0 = {[S.S, #], [S.U, #], [S.E, #],[U.a, #], [E.V = V, #],[V.a, =]} read(i 0, a) = I 0 léptetés, Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az táblázat kitöltése Az táblázat kitöltése I 0 read(i 0, V ) = I I = {[., #]} Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az táblázat kitöltése Az táblázat kitöltése I = {[S U., #]} I = {[S E., #]} redukálás, S E Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

13 Az táblázat kitöltése Az táblázat kitöltése I = {[U a., #], [V a., =]} I = {[U a., #],[V a., =]} redukálás, S E redukálás, U a redukálás, S E redukálás, V a redukálás, U a 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az táblázat kitöltése Az táblázat kitöltése I = {[E V. = V, #]} read(i, =) = I I = {[E V =.V, #], [V.a, #]} read(i, V ) = I redukálás, S E redukálás, V a redukálás, U a léptetés, redukálás, S E redukálás, V a redukálás, U a léptetés, Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az táblázat kitöltése Az táblázat kitöltése I = {[E V =.V, #],[V.a, #]} read(i, a) = I I = {[E V = V., #]} redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

14 Az táblázat kitöltése Az a# szöveg elemzése I = {[V a., #]} redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a a# Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az a# szöveg elemzése Az a# szöveg elemzése redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a a# a# a# a# a a U Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Az a# szöveg elemzése Az a# szöveg elemzése redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a redukálás, S E redukálás, V a redukálás, U a léptetés, léptetés, redukálás, E V = V redukálás, V a a# a# a# U S S OK 9 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) 0 Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

15 Az elemzés helyessége Az LR() táblázat konfliktusmentessége Az LR() létrehozása véges Az elemzés helyessége Tétel Egy grammatika pontosan akkor LR() grammatika, ha az LR() táblázatai konfliktusmentesek. az LR()-elemek száma véges a closure és read függvények kiszámítása véges a kanonikus halmazok száma véges a kanonikus halmazok kiszámítása véges Az LR() a megadott módon véges sok lépésben és teljesen automatikusan létrehozható. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Járható prefix, érvényes LR-elem Az elemzés helyessége járható prefix: a mondatformának olyan prefixei, amelyek legfeljebb a nyél végéig tartanak ezeket járja be az automata a maximális járható prefixnek a végén ott a teljes nyél Járható prefix, érvényes LR-elem Az elemzés helyessége járható prefix: a mondatformának olyan prefixei, amelyek legfeljebb a nyél végéig tartanak ezeket járja be az automata a maximális járható prefixnek a végén ott a teljes nyél járható prefixre érvényes LR-elemek: a járható prefix lehetséges folytatásai melyik szabályok építésében hol tarthatunk egy adott járható prefix elemzése után? Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Járható prefix, érvényes LR-elem Az elemzés helyessége helyessége Az elemzés helyessége járható prefix: a mondatformának olyan prefixei, amelyek legfeljebb a nyél végéig tartanak ezeket járja be az automata a maximális járható prefixnek a végén ott a teljes nyél járható prefixre érvényes LR-elemek: a járható prefix lehetséges folytatásai melyik szabályok építésében hol tarthatunk egy adott járható prefix elemzése után? Az LR()-elemzés nagy tétele Egy γ járható prefix hatására az automatája a kezdőállapotból olyan állapotba kerül, amelyhez tartozó kanonikus halmaz éppen a γ járható prefixre érvényes LR() elemeket tartalmazza. Definíció: Járható prefixre érvényes LR()-elem A grammatika egy [A α.β, a] LR()-eleme érvényes a γα járható prefixre nézve, ha S γax γαβx, és x ǫ esetén a az x első szimbóluma, x = ǫ esetén pedig a = #. Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések) Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

16 helyessége Az elemzés helyessége Az LR()-elemzés nagy tétele Egy γ járható prefix hatására az automatája a kezdőállapotból olyan állapotba kerül, amelyhez tartozó kanonikus halmaz éppen a γ járható prefixre érvényes LR() elemeket tartalmazza. Összefoglalva: az LR() automatikusan és véges lépésben generálható a nyelvtan szabályaiból minden LR() grammatika elemezéséhez használható az mindig a helyes lépést írja elő a fenti tétel miatt Probléma: túl sok állapota van... Fordítóprogramok előadás (A,C,T szakirány) LR elemzések (SLR() és LR() elemzések)

Az LR elemző felépítése. Léptetés. Redukálás. Kiegészített grammatika. Mit kell redukálni? Kiegészített grammatika. elemző. elemző.

Az LR elemző felépítése. Léptetés. Redukálás. Kiegészített grammatika. Mit kell redukálni? Kiegészített grammatika. elemző. elemző. Emlékeztető Emlékeztető: elemzési irányok Felülről lefelé lulról felfelé LR elemzések (z LR() elemzés) () () () () B B Forítóprogrmok előás (,C,T szkirány) () () () () () () () B () B () () () B () Ez

Részletesebben

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete A szemantikus elemzés elmélete Szemantikus elemzés (attribútum fordítási grammatikák) a nyelvtan szabályait kiegészítjük a szemantikus elemzés tevékenységeivel fordítási grammatikák Fordítóprogramok előadás

Részletesebben

Automaták és formális nyelvek

Automaták és formális nyelvek Automaták és formális nyelvek Bevezetés a számítástudomány alapjaiba 1. Formális nyelvek 2006.11.13. 1 Automaták és formális nyelvek - bevezetés Automaták elmélete: információs gépek általános absztrakt

Részletesebben

Miről mire fordít a fordítóprogram? Miről mire fordít az assembler? Mi a különbség a fordítóprogram és az interpreter között? Mi a virtuális gép?

Miről mire fordít a fordítóprogram? Miről mire fordít az assembler? Mi a különbség a fordítóprogram és az interpreter között? Mi a virtuális gép? 1. Miről mire fordít a fordítóprogram? Általában magas szintű programozási nyelvről gépi kódra. 2. Miről mire fordít az assembler? Assembly nyelvről gépi kódra. 3. Mi a különbség a fordítóprogram és az

Részletesebben

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

Fordítóprogramok szerkesztése Flex és Bison segítségével Fordítóprogramok szerkesztése Flex és Bison segítségével Bodó Zalán Fordítóprogramok szerkesztése Flex és Bison segítségével Kolozsvár, 2014 c Bodó Zalán c Erdélyi Múzeum-Egyesület, 2014 Felelős kiadó

Részletesebben

\ _/ / / _ \ ' / _` / ' / _ \ / _` (_) (_ (_) (_ \_ \ / _ \,_\ \ / \, / / 2.1. Alapfogalmak. 1. Mirol mire fordít a fordítóprogram?

\ _/ / / _ \ ' / _` / ' / _ \ / _` (_) (_ (_) (_ \_ \ / _ \,_\ \ / \, / / 2.1. Alapfogalmak. 1. Mirol mire fordít a fordítóprogram? \ _/ / _ _/ _ \ ' / _` / ' / _ \ / _` (_) (_ (_) (_ \_ \ / _ \,_\_ _ \ / \, / / 2.1. Alapfogalmak 1. Mirol mire fordít a fordítóprogram? magasszintű programozá si nyelvek gépi kód 2. Mirol mire fordít

Részletesebben

Fordítóprogramok. Ajánlott irodalom. Jelölések 2. Jelölések 1. Fordítóprogramok szerkezete. Elıadó: Pozsgai Tamás. Aho-Sethi-Ullmann: Compilers

Fordítóprogramok. Ajánlott irodalom. Jelölések 2. Jelölések 1. Fordítóprogramok szerkezete. Elıadó: Pozsgai Tamás. Aho-Sethi-Ullmann: Compilers Fordítóprogramok Ajánlott irodalom Fordítóprogramok szerkezete Aho-Sethi-Ullmann: Compilers Csörnyei Zoltán: Fordítóprogramok Elıadó: Pozsgai Tamás A jegyzet Csörnyei Zoltán: Fordítóprogramok címő könyvének

Részletesebben

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

A számítógépes nyelvészet elmélete és gyakorlata. Automaták A számítógépes nyelvészet elmélete és gyakorlata Automaták Nyelvek és automaták A nyelvek automatákkal is jellemezhetőek Automaták hierarchiája Chomsky-féle hierarchia Automata: új eszköz a nyelvek komplexitásának

Részletesebben

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

Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény Fordítóprogramok (A,C,T szakirány) Feladatgy jtemény ELTE IK 1 Lexikális elemzés 1. Add meg reguláris nyelvtannal, reguláris kifejezéssel és véges determinisztikus automatával a következ lexikális elemeket!

Részletesebben

Automaták mint elfogadók (akceptorok)

Automaták mint elfogadók (akceptorok) Automaták mint elfogadók (akceptorok) Ha egy iniciális Moore-automatában a kimenőjelek halmaza csupán kételemű: {elfogadom, nem fogadom el}, és az utolsó kimenőjel dönti el azt a kérdést, hogy elfogadható-e

Részletesebben

MintaFeladatok 2.ZH Megoldások

MintaFeladatok 2.ZH Megoldások 1. feladat Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) P={ } S A B C AB SC AC a c BC b CS SS c S a kezdőjel Mivel a piramis tetején lévő kocka a mondatkezdő szimbólumot

Részletesebben

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

Házi feladatok megoldása. Nyelvtani transzformációk. Házi feladatok megoldása. Házi feladatok megoldása. Formális nyelvek, 6. gyakorlat. Nyelvtani transzformációk Formális nyelvek, 6. gyakorlat a. S (S) SS ε b. S XS ε és X (S) c. S (SS ) Megoldás: Célja: A nyelvtani transzformációk bemutatása Fogalmak: Megszorított típusok, normálformák,

Részletesebben

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.ms.sapientia.ro/ kasa/formalis.htm Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezetű), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

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

6. előadás A reguláris nyelvek jellemzése 2. 6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2014 2015 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú

Részletesebben

Formális nyelvek és automaták

Formális nyelvek és automaták Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián 2. gyakorlat Ismétlés: Megjegyzés: Az ismétlés egy része nem szerepel a dokumentumban, mivel lényegében a teljes 1.

Részletesebben

MintaFeladatok 2.ZH Megoldások

MintaFeladatok 2.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat megoldása a b 1 2 3 2 4 2 3 2 1 4 6 3 5 10 6 6 8 7 7 9 7 8 8 9 9 8 8 10 5 1 I. Összefüggőség vizsgálat. H0={1}

Részletesebben

Atomataelmélet: A Rabin Scott-automata

Atomataelmélet: A Rabin Scott-automata A 19. óra vázlata: Atomataelmélet: A Rabin Scott-automata Az eddigieken a formális nyelveket generatív szempontból vizsgáltuk, vagyis a nyelvtan (generatív grammatika) szemszögéből. A generatív grammatika

Részletesebben

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

A digitális számítás elmélete A digitális számítás elmélete 8. előadás ápr. 16. Turing gépek és nyelvtanok A nyelvosztályok áttekintése Turing gépek és a természetes számokon értelmezett függvények Áttekintés Dominó Bizonyítások: L

Részletesebben

Fordítóprogramok beugrókérdések

Fordítóprogramok beugrókérdések Fordítóprogramok beugrókérdések 1) Mirol mire fordít a fordítóprogram? Általában magas szintű programozási nyelvről gépi kódra. 2) Mirol mire fordít az assembler? Assembly nyelvről gépi kódra. 3) Mi a

Részletesebben

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

5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1. 5. előadás Reguláris kifejezések, a reguláris nyelvek jellemzése 1. Dr. Kallós Gábor 2014 2015 1 Tartalom Reguláris kifejezések Meghatározás, tulajdonságok Kapcsolat a reguláris nyelvekkel A reguláris

Részletesebben

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 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 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: 1. Öt rövid kérdés megválaszolása egyenként 6 pontért, melyet minimum

Részletesebben

Tárgymutató. Typotex Kiadó. Csörnyei Zoltán. akonyv 2007/3/9 6:29 page 315 # , >, 205 <, 96, 108, 115 >, 96, 108, 115 =, 96, 108

Tárgymutató. Typotex Kiadó. Csörnyei Zoltán. akonyv 2007/3/9 6:29 page 315 # , >, 205 <, 96, 108, 115 >, 96, 108, 115 =, 96, 108 akonyv 2007/3/9 6:29 page 315 #327 Typotex Kiadó Tárgymutató Jelölések α,β,γ,..., vii, 290 a,b,c,..., vii, 290 A,B,C,..., vii B, 68 ε, vii F, 67 G, vii L, vii L, 68, 109 L(G), vii N, vii P, vii R, 109

Részletesebben

Chomsky-féle hierarchia

Chomsky-féle hierarchia http://www.cs.ubbcluj.ro/~kasa/formalis.html Chomsky-féle hierarchia G = (N, T, P, S) nyelvtan: 0-s típusú (általános vagy mondatszerkezet ), ha semmilyen megkötést nem teszünk a helyettesítési szabályaira.

Részletesebben

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a

Informatika szigorlat. A lexikális elemző feladatai közé tartozik a whitespace karakterek (a Informatika szigorlat 17-es tétel: Felülről lefelé elemzések 1. Lexikális elemzés A lexikális elemző alapvető feladata az, hogy a forrásnyelvű program lexikális egységeit felismerje, azaz meghatározza

Részletesebben

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

6. előadás A reguláris nyelvek jellemzése 2. 6. előadás A reguláris nyelvek jellemzése 2. Dr. Kallós Gábor 2015 2016 1 Tartalom A reguláris nyelvek osztályának jellemzése a körbebizonyítás Láncszabályok A 2. állítás és igazolása Ekvivalens 3-típusú

Részletesebben

Teljes visszalépéses elemzés

Teljes visszalépéses elemzés Teljes visszalépéses elemzés adott a következő nyelvtan S» aad a A» b c elemezzük a következő szöveget: accd» ccd ddc S S a A d a A b c d a c c d a c c d Teljes visszalépéses elemzés adott a következő

Részletesebben

Formális nyelvek - 9.

Formális nyelvek - 9. Formális nyelvek - 9. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Véges

Részletesebben

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

Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2) Formális nyelvek és gépek (definíciós és tétel lista - 09/10/2) ábécé: Ábécének nevezünk egy tetszőleges véges szimbólumhalmazt. Jelölése: X, Y betű: Az ábécé elemeit betűknek hívjuk. szó: Az X ábécé elemeinek

Részletesebben

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

Formális nyelvek és automaták vizsgához statisztikailag igazolt várható vizsgakérdések 1. Feladat Az első feladatban szereplő - kérdések 1 Minden környezet független nyelv felismerhető veremautomatával. Minden környezet független nyelv felismerhető 1 veremmel. Minden 3. típusú nyelv felismerhető

Részletesebben

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!

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! Feladatok 1. A CYK algoritmus segítségével döntsük el, hogy cabcab eleme-e a G = {a, b, c}, {S, A, B, C, D, E}, P, S nyelvtan által generált nyelvnek! P: S AD EB SS A AB a B DD b C CB c D EC a E AD b 2.

Részletesebben

Kiterjesztések sek szemantikája

Kiterjesztések sek szemantikája Kiterjesztések sek szemantikája Példa D Integer = {..., -1,0,1,... }; D Boolean = { true, false } D T1... T n T = D T 1... D Tn D T Az összes függvf ggvény halmaza, amelyek a D T1,..., D Tn halmazokból

Részletesebben

Formális nyelvek - 5.

Formális nyelvek - 5. Formális nyelvek - 5. Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu 1 Lineáris

Részletesebben

ZH feladatok megoldásai

ZH feladatok megoldásai ZH feladatok megoldásai A CSOPORT 5. Írja le, hogy milyen szabályokat tartalmazhatnak az egyes Chomskynyelvosztályok (03 típusú nyelvek)! (4 pont) 3. típusú, vagy reguláris nyelvek szabályai A ab, A a

Részletesebben

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

6. előadás Környezetfüggetlen nyelvtanok/1. 6. előadás Környezetfüggetlen nyelvtanok/1. Dr. Kallós Gábor 2013 2014 1 Tartalom Bevezetés CF nyelv példák Nyelvek és nyelvtanok egy- és többértelműsége Bal- és jobboldali levezetések Levezetési fák A

Részletesebben

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

Segédanyagok. Formális nyelvek a gyakorlatban. Szintaktikai helyesség. Fordítóprogramok. Formális nyelvek, 1. gyakorlat Formális nyelvek a gyakorlatban Formális nyelvek, 1 gyakorlat Segédanyagok Célja: A programozási nyelvek szintaxisának leírására használatos eszközök, módszerek bemutatása Fogalmak: BNF, szabály, levezethető,

Részletesebben

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

FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK. LABORGYAKORLATOK FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK LABORGYAKORLATOK http://www.ms.sapientia.ro/~kasa/formalis.htm 0 Formális nyelvek és fordítóprogramok http://www.ms.sapientia.ro/~kasa/formalis.htm Jelenlét kötelezõ!

Részletesebben

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

Logika és számításelmélet. 10. előadás Logika és számításelmélet 10. előadás Rice tétel Rekurzíve felsorolható nyelvek tulajdonságai Tetszőleges P RE halmazt a rekurzívan felsorolható nyelvek egy tulajdonságának nevezzük. P triviális, ha P

Részletesebben

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

Formális Nyelvek - 1. Előadás Formális Nyelvek - 1. Előadás Csuhaj Varjú Erzsébet Algoritmusok és Alkalmazásaik Tanszék Informatikai Kar Eötvös Loránd Tudományegyetem H-1117 Budapest Pázmány Péter sétány 1/c E-mail: csuhaj@inf.elte.hu

Részletesebben

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

Formális nyelvek előadások tavaszi félév Formális nyelvek előadások 2018. tavaszi félév Követelmények Az aláírást mindenki megkapja ajándékba. A vizsga két részből áll, írásbeli és szóbeli vizsgából. Az írásbeli elégséges szintű teljesítése esetén

Részletesebben

Formális nyelvek és automaták

Formális nyelvek és automaták Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián Utolsó óra MINTA ZH Eötvös Loránd Tudományegyetem Informatikai Kar 2012.05.18 1. feladat: KMP (Knuth-Morris-Prett)

Részletesebben

FORDÍTÓPROGRAMOK. I. Előadás. Műszaki informatika szakos hallgatók számára Veszprémi Egyetem Számítástudomány Alkalmazása Tanszék 2002.

FORDÍTÓPROGRAMOK. I. Előadás. Műszaki informatika szakos hallgatók számára Veszprémi Egyetem Számítástudomány Alkalmazása Tanszék 2002. FORDÍTÓPROGRAMOK I. Előadás Műszaki informatika szakos hallgatók számára Veszprémi Egyetem Számítástudomány Alkalmazása Tanszék 2002. Ajánlott irodalom: Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman Compilers

Részletesebben

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

A Turing-gép. Formális nyelvek III. Formális nyelvek III. Általános és környezetfüggő nyelvek Fülöp Zoltán SZTE TTIK Informatikai Intézet Számítástudomány Alapjai Tanszék 6720 Szeged, Árpád tér 2. Definíció. Egy Turing-gép egy M = (Q,Σ,Γ,

Részletesebben

Készítette: Nagy Tibor István

Készítette: Nagy Tibor István Készítette: Nagy Tibor István Operátorok Műveletek Egy (vagy több) műveleti jellel írhatók le A műveletet operandusaikkal végzik Operátorok fajtái operandusok száma szerint: egyoperandusú operátorok (pl.:

Részletesebben

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

Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant! Feladatok: 1. Add meg a következ balreguláris nyelvtannak megfelel jobbreguláris nyelvtant! Megoldás: S b A a Ezzel a feladattal az volt a gondom, hogy a könyvben tanultak alapján elkezdtem levezetni,

Részletesebben

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok

Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Formális módszerek GM_IN003_1 Program verifikálás, formalizmusok Program verifikálás Konkurens programozási megoldások terjedése -> verifikálás szükséges, (nehéz) logika Legszélesebb körben alkalmazott

Részletesebben

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás

5. előadás. Programozás-elmélet. Programozás-elmélet 5. előadás Elemi programok Definíció Az S A A program elemi, ha a A : S(a) { a, a, a, a,..., a, b b a}. A definíció alapján könnyen látható, hogy egy elemi program tényleg program. Speciális elemi programok a kövekezők:

Részletesebben

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása

A fordítóprogramok szerkezete. Kódoptimalizálás. A kódoptimalizálás célja. A szintézis menete valójában. Kódoptimalizálási lépések osztályozása A fordítóprogramok szerkezete Forrásprogram Forrás-kezelő (source handler) Kódoptimalizálás Fordítóprogramok előadás (A,C,T szakirány) Lexikális elemző (scanner) Szintaktikus elemző (parser) Szemantikus

Részletesebben

Rekurzió. Dr. Iványi Péter

Rekurzió. Dr. Iványi Péter Rekurzió Dr. Iványi Péter 1 Függvényhívás void f3(int a3) { printf( %d,a3); } void f2(int a2) { f3(a2); a2 = (a2+1); } void f1() { int a1 = 1; int b1; b1 = f2(a1); } 2 Függvényhívás void f3(int a3) { printf(

Részletesebben

Csempe átíró nyelvtanok

Csempe átíró nyelvtanok Csempe átíró nyelvtanok Tile rewriting grammars Németh L. Zoltán Számítástudomány Alapjai Tanszék SZTE, Informatikai Tanszékcsoport 1. előadás - 2006. április 10. Képek (pictures) I. Alapdefiníciók ábécé:

Részletesebben

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája

Adatszerkezetek Adatszerkezet fogalma. Az értékhalmaz struktúrája Adatszerkezetek Összetett adattípus Meghatározói: A felvehető értékek halmaza Az értékhalmaz struktúrája Az ábrázolás módja Műveletei Adatszerkezet fogalma Direkt szorzat Minden eleme a T i halmazokból

Részletesebben

Véges automaták, reguláris nyelvek

Véges automaták, reguláris nyelvek Véges automaták, reguláris nyelvek Kiegészítő anyag az lgoritmuselmélet tárgyhoz (a Rónyai Ivanyos Szabó: lgoritmusok könyv mellé) Friedl Katalin BME SZIT friedl@cs.bme.hu 27. augusztus 3. véges automata

Részletesebben

ü Ö ü í ü ü ü ü í Ö ö ü ú ü ü ö ü ü ű ö í í ö í űá ú ü ö ö ö í ü ü ü ü ü ű ö í í ö í ű ú ü ü í ü ü ű ö í í ö í űá ú ü íí ü Á í í í Á ű ú í ö ö í ü ö ö ö í ö í ú ö ü ü ű ö ö í ű ö í ű ü ű ö í ű ö í ö í

Részletesebben

ó ű ó ü ó ó ü ó ü Í Ö Ő ű Á ó Á Á Á ó ü ó Ö Ö ÚÁ Ö Ó Ó Ó ó Á Ö Ö Á Ó Á Á ó Á Ö Ú Á Ú Ö Ö Á Ö ú Ú Ö ü ú ú ó ü ú ű ó ú ü ú ó ó ü ó ú ü ú Ű ó ü ó ú ó ű ó ú ú ú ó ó ú ú ü ó ü ó ú ó ó ü Ö ó ó ű ó ú ü Ö ű ó

Részletesebben

É ű Ö ű ű Ö ű ű ű É ű ű ű ű ű ű ű ű ű É ű ű ű ű ű ű Ó ű ű É ű ű ű ű ű Ö ű ű ű Ó ű Á Á ű ű ű Á Ü Ű ű ű ű Ő Á Á Á ű Á Á É É Á Á Á ű ű ű Á É Á Á ű Á ű Á Á ű ű ű ű ű ű ű ű ű ű ű ű Á Á É ű Á ű É ű Ü ű É É É

Részletesebben

Ó ő Ó ő ú ő ö ü Ó ő ö ő ü ő ö ő ü ö ö ő ö ü ú ö ő ü ú É ő ő ő ö ő ü ö Ó ő Á ő Á ú ü ő ú ú Ó ő Ó ő Á ő ő ő Ó ő Á ő ö ő ü ö ő ő ő ú ő Á ő ő ő Á ő ö ö ő ü ü ö ö ü ő É ő ő Á ő Á Ö ü ú ö Á ü ö ö ő ö ö ú ö ő

Részletesebben

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések

Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések Hardver és szoftver rendszerek verifikációja Röviden megválaszolható kérdések 1. Az informatikai rendszereknél mit ellenőriznek validációnál és mit verifikációnál? 2. A szoftver verifikációs technikák

Részletesebben

NP-teljesség röviden

NP-teljesség röviden NP-teljesség röviden Bucsay Balázs earthquake[at]rycon[dot]hu http://rycon.hu 1 Turing gépek 1/3 Mi a turing gép? 1. Definíció. [Turing gép] Egy Turing-gép formálisan egy M = (K, Σ, δ, s) rendezett négyessel

Részletesebben

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk

A továbbiakban Y = {0, 1}, azaz minden szóhoz egy bináris sorozatot rendelünk 1. Kódelmélet Legyen X = {x 1,..., x n } egy véges, nemüres halmaz. X-et ábécének, elemeit betűknek hívjuk. Az X elemeiből képzett v = y 1... y m sorozatokat X feletti szavaknak nevezzük; egy szó hosszán

Részletesebben

Alapszintű formalizmusok

Alapszintű formalizmusok Alapszintű formalizmusok dr. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék 1 Mit szeretnénk elérni? Informális tervek Informális követelmények Formális modell Formalizált követelmények

Részletesebben

Függvények határértéke és folytonossága

Függvények határértéke és folytonossága Függvények határértéke és folytonossága 7. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Függvények határértéke p. / Függvény határértéke az x 0 helyen Definíció. Legyen D R, f

Részletesebben

MintaFeladatok 1.ZH Megoldások

MintaFeladatok 1.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat L1 = {ab,ba,b} L2=b*ab* L3 = {a, bb, aba} L1L3 = {aba, abbb, ababa, baa, babb, baaba, ba, bbb, baba} (ab

Részletesebben

MintaFeladatok 1.ZH Megoldások

MintaFeladatok 1.ZH Megoldások Kérem e-mail-ben jelezze, ha hibát talál: (veanna@inf.elte.hu, vagy veanna@elte.hu ) 1. feladat L1 = {ab,ba,b} L2=b*ab* L3 = {a, bb, aba} L1L3 = {aba, abbb, ababa, baa, babb, baaba, ba, bbb, baba} (ab+b)*

Részletesebben

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 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 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: 1. Öt kis kérdés megválaszolása egyenként 6 pontért, melyet minimum 12

Részletesebben

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak.

... S n. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Párhuzamos programok Legyen S parbegin S 1... S n parend; program. A párhuzamos programszerkezet két vagy több folyamatot tartalmaz, melyek egymással közös változó segítségével kommunikálnak. Folyamat

Részletesebben

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha

ALAPFOGALMAK 1. A reláció az program programfüggvénye, ha. Azt mondjuk, hogy az feladat szigorúbb, mint az feladat, ha ALAPFOGALMAK 1 Á l l a p o t t é r Legyen I egy véges halmaz és legyenek A i, i I tetszőleges véges vagy megszámlálható, nem üres halmazok Ekkor az A= A i halmazt állapottérnek, az A i halmazokat pedig

Részletesebben

2. Ítéletkalkulus szintaxisa

2. Ítéletkalkulus szintaxisa 2. Ítéletkalkulus szintaxisa (4.1) 2.1 Az ítéletlogika abc-je: V 0 V 0 A következő szimbólumokat tartalmazza: ítélet- vagy állításváltozók (az állítások szimbolizálására). Esetenként logikai változónak

Részletesebben

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

A számítógépes nyelvészet elmélete és gyakorlata. Formális nyelvek elmélete A számítógépes nyelvészet elmélete és gyakorlata Formális nyelvek elmélete Nyelv Nyelvnek tekintem a mondatok valamely (véges vagy végtelen) halmazát; minden egyes mondat véges hosszúságú, és elemek véges

Részletesebben

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

Számításelmélet. Második előadás Számításelmélet Második előadás Többszalagos Turing-gép Turing-gép k (konstans) számú szalaggal A szalagok mindegyike rendelkezik egy független író / olvasó fejjel A bemenet az első szalagra kerül, a többi

Részletesebben

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

3. Fuzzy aritmetika. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI 3. Fuzzy aritmetika Gépi intelligencia I. Fodor János BMF NIK IMRI NIMGI1MIEM Tartalomjegyzék I 1 Intervallum-aritmetika 2 Fuzzy intervallumok és fuzzy számok Fuzzy intervallumok LR fuzzy intervallumok

Részletesebben

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.

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. Bisonc++ tutorial Dévai Gergely A Bisonc++ egy szintaktikuselemz -generátor: egy környezetfüggetlen nyelvtanból egy C++ programot generál, ami egy tokensorozat szintaktikai helyességét képes ellen rizni.

Részletesebben

Logikai függvények osztályai. A függvényosztály a függvények egy halmaza.

Logikai függvények osztályai. A függvényosztály a függvények egy halmaza. Logikai függvények osztályai A függvényosztály a függvények egy halmaza. A logikai fügvények egy osztálya logikai függvények valamely halmaza. Megadható felsorolással, vagy a tulajdonságainak leírásával.

Részletesebben

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

Formális nyelvek és automaták előadások VÁRTERÉSZ MAGDA Formális nyelvek és automaták előadások 2005/06-os tanév 1. félév Tartalomjegyzék 1. Előzetes tudnivalók 4 2. Bevezetés 15 3. Ábécé, szó, formális nyelv 17 4. Műveletek nyelvekkel 24 4.1.

Részletesebben

BASH script programozás II. Vezérlési szerkezetek

BASH script programozás II. Vezérlési szerkezetek 06 BASH script programozás II. Vezérlési szerkezetek Emlékeztető Jelölésbeli különbség van parancs végrehajtása és a parancs kimenetére való hivatkozás között PARANCS $(PARANCS) Jelölésbeli különbség van

Részletesebben

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet!

1. Részcsoportok (1) C + R + Q + Z +. (2) C R Q. (3) Q nem részcsoportja C + -nak, mert más a művelet! 1. Részcsoportok A részcsoport fogalma. 2.2.15. Definíció Legyen G csoport. A H G részhalmaz részcsoport, ha maga is csoport G műveleteire nézve. Jele: H G. Az altér fogalmához hasonlít. Példák (1) C +

Részletesebben

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések

Kriptográfia 0. A biztonság alapja. Számítás-komplexitási kérdések Kriptográfia 0 Számítás-komplexitási kérdések A biztonság alapja Komplexitás elméleti modellek független, egyenletes eloszlású véletlen változó értéke számítással nem hozható kapcsolatba más információval

Részletesebben

Programozási nyelvek (ADA)

Programozási nyelvek (ADA) Programozási nyelvek (ADA) Kozsik Tamás előadása alapján Készítette: Nagy Krisztián 3. előadás Programozási nyelv felépítése szabályok megadása Lexika Milyen egységek építik fel? Szintaktikus szabályok

Részletesebben

Fogalomtár a Formális nyelvek és

Fogalomtár a Formális nyelvek és Fogalomtár a Formális nyelvek és automaták tárgyhoz (A törzsanyaghoz tartozó definíciókat és tételeket jelöli.) Definíciók Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális

Részletesebben

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

1. előadás: Halmazelmélet, számfogalom, teljes 1. előadás: Halmazelmélet, számfogalom, teljes indukció Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető,

Részletesebben

Alap fatranszformátorok II

Alap fatranszformátorok II Alap fatranszformátorok II Vágvölgyi Sándor Fülöp Zoltán és Vágvölgyi Sándor [2, 3] közös eredményeit ismertetjük. Fogalmak, jelölések A Σ feletti alaptermek TA = (T Σ, Σ) Σ algebráját tekintjük. Minden

Részletesebben

Szemantikai elemzés. konzisztenciájának vizsgálata a szemantikai elemzés feladata lesz.

Szemantikai elemzés. konzisztenciájának vizsgálata a szemantikai elemzés feladata lesz. Szemantikai elemzés A szintaktikai elemzés meghatározta az elemzend szöveg szintaxisfáját. szintaxisfa pontjaihoz olyan attribútumokat rendelünk, amelyek leírják az adott pont tulajdonságait. Ezeknek az

Részletesebben

2014. november 5-7. Dr. Vincze Szilvia

2014. november 5-7. Dr. Vincze Szilvia 24. november 5-7. Dr. Vincze Szilvia A differenciálszámítás az emberiség egyik legnagyobb találmánya és ez az állítás nem egy matek-szakbarbár fellengzős kijelentése. A differenciálszámítás segítségével

Részletesebben

A SZÁMÍTÁSTUDOMÁNY ALAPJAI

A SZÁMÍTÁSTUDOMÁNY ALAPJAI Írta: ÉSIK ZOLTÁN A SZÁMÍTÁSTUDOMÁNY ALAPJAI Egyetemi tananyag 2011 COPYRIGHT: 2011 2016, Dr. Ésik Zoltán, Szegedi Tudományegyetem Természettudományi és Informatikai Kar Számítástudomány Alapjai Tanszék

Részletesebben

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

9. előadás Veremautomaták 1. 9. előadás 1. Dr. Kallós Gábor 2014 2015 1 Tartalom Motiváció Verem és végtelen automata Felépítés, konfigurációk és átmenetek Szavak felismerése, felismert nyelv Az elfogadó állapottal és az üres veremmel

Részletesebben

Logika es sz am ıt aselm elet I. r esz Logika 1/36

Logika es sz am ıt aselm elet I. r esz Logika 1/36 1/36 Logika és számításelmélet I. rész Logika 2/36 Elérhetőségek Tejfel Máté Déli épület, 2.606 matej@inf.elte.hu http://matej.web.elte.hu Tankönyv 3/36 Tartalom 4/36 Bevezető fogalmak Ítéletlogika Ítéletlogika

Részletesebben

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja.

Nyelv hatványa: Legyen L egy nyelv, nemnegatív egész hatványai,,. (rek. definició) Nyelv lezártja (iteráltja): Legyen L egy nyelv. L nyelv lezártja. Univerzális ábécé: Szimbólumok egy megszámlálhatóan végtelen halmazát univerzális ábécének nevezzük Ábécé: Ábécének nevezzük az univerzális ábécé egy tetszőleges véges részhalmazát Betű: Az ábécé elemeit

Részletesebben

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1

Halmazelmélet. 1. előadás. Farkas István. DE ATC Gazdaságelemzési és Statisztikai Tanszék. Halmazelmélet p. 1/1 Halmazelmélet 1. előadás Farkas István DE ATC Gazdaságelemzési és Statisztikai Tanszék Halmazelmélet p. 1/1 A halmaz fogalma, jelölések A halmaz fogalmát a matematikában nem definiáljuk, tulajdonságaival

Részletesebben

Relációs adatbázisok tervezése ---2

Relációs adatbázisok tervezése ---2 Relációs adatbázisok tervezése ---2 Tankönyv: Ullman-Widom: Adatbázisrendszerek Alapvetés Második, átdolgozott kiadás, Panem, 2009 3.2.8. Funkcionális függ-ek vetítése 3.3.3. Boyce-Codd normálforma 3.3.4.

Részletesebben

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

Turing-gép május 31. Turing-gép 1. 1 Turing-gép 2007. május 31. Turing-gép 1. 1 Témavázlat Turing-gép Determinisztikus, 1-szalagos Turing-gép A gép leírása, példák k-szalagos Turing-gép Univerzális Turing-gép Egyéb Turing-gépek Nemdeterminisztikus

Részletesebben

Bevezetés az informatikába

Bevezetés az informatikába Bevezetés az informatikába 6. előadás Dr. Istenes Zoltán Eötvös Loránd Tudományegyetem Informatikai Kar Programozáselmélet és Szoftvertechnológiai Tanszék Matematikus BSc - I. félév / 2008 / Budapest Dr.

Részletesebben

Házi feladatok megoldása. Harmadik típusú nyelvek és véges automaták. Házi feladatok megoldása. VDA-hoz 3NF nyelvtan készítése

Házi feladatok megoldása. Harmadik típusú nyelvek és véges automaták. Házi feladatok megoldása. VDA-hoz 3NF nyelvtan készítése Hrmdik típusú nyelvek és véges utomták Formális nyelvek, 10. gykorlt Házi feldtok megoldás 1. feldt Melyik nyelvet fogdj el következő utomt? c q 0 q 1 q 2 q 3 q 1 q 4 q 2 q 4 q 2 q 0 q 4 q 3 q 3 q 4 q

Részletesebben

Formális nyelvek és automaták

Formális nyelvek és automaták 2. megszorított grammatika/nyelv: Formális nyelvek és automaták Nagy Sára gyakorlatai alapján Készítette: Nagy Krisztián 4. gyakorlat + KES szabály mentesítés: - Új kezdő szimbólum, melyből levezethető

Részletesebben

Absztrakt adatstruktúrák A bináris fák

Absztrakt adatstruktúrák A bináris fák ciós lámpa a legnagyobb élettartamú és a legjobb hatásfokú fényforrásnak tekinthető, nyugodtan mondhatjuk, hogy a jövő fényforrása. Ezt bizonyítja az a tény, hogy ezen a területen a kutatások és a bejelentett

Részletesebben

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék

Az UPPAAL egyes modellezési lehetőségeinek összefoglalása. Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Az UPPAAL egyes modellezési lehetőségeinek összefoglalása Majzik István BME Méréstechnika és Információs Rendszerek Tanszék Résztvevők együttműködése (1) Automaták interakciói üzenetküldéssel Szinkron

Részletesebben

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

Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy 1. előadás: Halmazelmélet Szabó Szilárd Halmazok Halmaz: alapfogalom, bizonyos elemek (matematikai objektumok) összessége. Egy halmaz akkor adott, ha minden objektumról eldönthető, hogy hozzátartozik-e,

Részletesebben

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

Formális szemantika. Kifejezések szemantikája. Horpácsi Dániel ELTE Informatikai Kar Formális szemantika Kifejezések szemantikája Horpácsi Dániel ELTE Informatikai Kar 2016-2017-2 Az előadás témája Egyszerű kifejezések formális szemantikája Az első lépés a programozási nyelvek szemantikájának

Részletesebben

Java II. I A Java programozási nyelv alapelemei

Java II. I A Java programozási nyelv alapelemei Java II. I A Java programozási nyelv alapelemei Miskolci Egyetem Általános Informatikai Tanszék Utolsó módosítás: 2008. 02. 19. Java II.: Alapelemek JAVA2 / 1 A Java formalizmusa A C, illetve az annak

Részletesebben

Diszkrét matematika 1. estis képzés

Diszkrét matematika 1. estis képzés Diszkrét matematika 1. estis képzés 2019. tavasz 1. Diszkrét matematika 1. estis képzés 5. előadás Nagy Gábor nagygabr@gmail.com nagy@compalg.inf.elte.hu compalg.inf.elte.hu/ nagy Mérai László diái alapján

Részletesebben

A valós számok halmaza

A valós számok halmaza VA 1 A valós számok halmaza VA 2 A valós számok halmazának axiómarendszere és alapvető tulajdonságai Definíció Az R halmazt a valós számok halmazának nevezzük, ha teljesíti a következő axiómarendszerben

Részletesebben

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok

akonyv 2006/12/18 11:53 page i #1 Formális nyelvek és fordítóprogramok akonyv 2006/12/18 11:53 page i #1 Csörnyei Zoltán Kása Zoltán Formális nyelvek és fordítóprogramok akonyv 2006/12/18 11:53 page ii #2 akonyv 2006/12/18 11:53 page iii #3 Csörnyei Zoltán Kása Zoltán FORMÁLIS

Részletesebben

Temporális logikák és modell ellenırzés

Temporális logikák és modell ellenırzés Temporális logikák és modell ellenırzés Temporális logikák Modális logika: kijelentések különböző módjainak tanulmányozására vezették be (eredetileg filozófusok). Ilyen módok: esetleg, mindig, szükségszerűen,

Részletesebben