LIMBAJE FORMALE ȘI COMPILATOARE Lucrări de laborator FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK



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


Számítástudomány matematikai alapjai segédlet táv és levelező

A TANTÁRGY ADATLAPJA

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

A TANTÁRGY ADATLAPJA

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!

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

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. Automaták

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA

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:

Fordítóprogramok felépítése, az egyes programok feladata. A következő jelölésmódot használjuk: program(bemenet)(kimenet)

A TANTÁRGY ADATLAPJA


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

A TANTÁRGY ADATLAPJA

Segédlet Digitális írástudás - Operációs rendszerek Szilágyi Róbert S.

A TANTÁRGY ADATLAPJA Mikroökonómia

Párhuzamos algoritmusmodellek Herendi, Tamás Nagy, Benedek

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA

A TANTÁRGY ADATLAPJA

Automaták mint elfogadók (akceptorok)

A Batthyány Általános Iskola és Sportiskola félévi/év végi beszámolója

TIMSS & PIRLS Tanári kérdőív. online. 4. évfolyam. Azonosító címke

I.1.2 A helyi tantervek adaptálásáról: Érvényes szeptember 1-től tantárgy osztály kerettanterv tanmenet könyv kiadó

TANTÁRGYLEÍRÁS. Informatika és elektronika Tantárgy kódja

TANULÓI KÍSÉRLET (45 perc) A reggeli emésztése a gyomor funkciója, egészséges táplálkozás A kísérlet, mérés megnevezése, célkitűzései:

4. Előfeltételek (ha vannak) 4.1 Tantervi Nincs 4.2 Kompetenciabeli Feladatok kijelentéseinek megértése

INFORMATIKAI ALAPISMERETEK

Különös közzétételi lista. Szigetszentmártoni Általános Iskola

Sapientia Egyetem, Műszaki és Humántudományok Tanszék.

2 Ó b u d a i E g y e t e m

Hallgatói segédlet a diplomadolgozatok/szakdolgozatok/záródolgozatok elektronikus verziójának feltöltéséhez

A TANTÁRGY ADATLAPJA

Gazdaságinformatikus alapképzési szak

ALEXANDRU IOAN CUZA TUDOMÁNYEGYETEM, JÁSZVÁSÁR

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

A TANTÁRGY ADATLAPJA

KARI FELVÉTELI SZABÁLYZAT A OS TANULMÁNYI ÉVRE

KOMPLEX KOMMUNIKÁCIÓS ÉS TERMÉSZETTUDOMÁNYI CSOMAG MATEMATIKA TÁMOP /1-2F MATEMATIKA A MINDENNAPI ÉLETBEN 9.

A Herman Ottó Általános Iskola helyi tanterve

1. feladat. Keresse meg, hogy kik teljesítették a legtöbb kreditet, kiknek a legrosszabb az átlaguk, kik a legfiatalabbak, stb.


Előfeltétel (tantárgyi kód) Tantárgyfelelős neve Dr. Kovács Zoltán, a mat. tud. kandidátusa Tantárgyfelelős beosztása főiskolai tanár

A TANTÁRGY ADATLAPJA

TANTÁRGY KÖVETELMÉNYEK 2013/ FÉLÉV

Magyaroktatás Grazban


Méréstechnika kommunikációs dosszié MÉRÉSTECHNIKA. Anyagmérnök alapképzés (BsC) Tantárgyi kommunikációs dosszié

INFORMATIKAI ALAPISMERETEK

I. INTÉZMÉNYI ADATOK II. BEVEZETÉS

A TANTÁRGY ADATLAPJA

OKTATÁSI ALAPISMERETEK

GAZDASÁGINFORMATIKA ALAPJAI...

A bolognai képzés tanári záróvizsgája tételes számonkérésének integrált tételsora a tantárgypedagógiai példák nélkül

A TANTÁRGY ADATLAPJA

Írta: GYIMÓTHY TIBOR HAVASI FERENC KISS ÁKOS FORDÍTÓPROGRAMOK. Egyetemi tananyag

A Laky Ilonka Általános Iskola Munkaterve

Felhasználói kézikönyv

A TANTÁRGY ADATLAPJA Pénzügyi piacok


FGSZ Zrt február 28-tól február 29-ig AUKCIÓS NAPTÁR: ÉVES ÉVES KAPCSOLT KAPACITÁS HATÁRKERESZTEZŐ PONTOKON

A bemeneti mérés eredménye az 1. évfolyamon

A Számítógépek felépítése, mőködési módjai. A Számítógépek hardverelemei

I. rész: Azonosító és címadatok

FÜLAKUPUNKTÚRÁS ADDIKTOLÓGUS Szóbeli tételsor

ELTE TáTK szociológia egyetemi szakra vonatkozó szakdolgozati és záróvizsga követelmények

Betonburkolatú gyorsforgalmi út útépítési és hídépítési tapasztalatai - MO autóút km szakasz BETONBURKOLATÚ TAPASZTALATAI AZ M0 AUTÓÚ SZAKASZÁN

A meghirdetett állás leírása

J A V A S L A T A BME Villamosmérnöki és Informatikai Karának címzetes egyetemi docense cím adományozására

Azonosító jel: FÖLDRAJZ EMELT SZINTŰ ÍRÁSBELI VIZSGA május :00. Az írásbeli vizsga időtartama: 240 perc

Alkalmazott Nyelvészeti Közlemények, Miskolc, VIII. évfolyam, 2. szám (2013), pp

OKTATÁSI HÉT ELŐADÁS TEMATIKA GYAKORLAT TEMATIKA

(1) A magyar fonémaállomány rendszere. Oppozíciók és simító folyamatok

A TANTÁRGY ADATLAPJA

gzés s veszélyes anyagokkal

Digitális barlangi kataszter létrehozása - Mihály- és Pobráz- domb

INFORMATIKA KÖZÉPSZINTŰ GYAKORLATI VIZSGA 2009.

56 melyből: 3.5 előadás szeminárium/laboratórium 28

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

RAJZ ÉS VIZUÁLIS KULTÚRA

Szerzőinknek A folyóiratunkba szánt kéziratok tartalmi és formai követelményei

PTE KTK MSC-TANTERV GAZDASÁGTUDOMÁNYI KÉPZÉSI TERÜLET KÖZGAZDASÁGI ELEMZŐ TELJES MUNKAIDŐS (NAPPALI) KÉPZÉS MSC 2014 MESTERSZAK. Pécs, 2016.

Tizenkettedik lecke. Az ajtóban

Azonosító jel: INFORMATIKA EMELT SZINTŰ GYAKORLATI VIZSGA május 13. 8:00. A gyakorlati vizsga időtartama: 240 perc

Irodalom. (a) A T, B T, (b) A + B, C + D, D C, (c) 3A, (d) AD, DA, B T A, 1 2 B = 1 C = A = 1 0 D = (a) 1 1 3, B T = = ( ) ; A T = 1 0

A TANTÁRGY ADATLAPJA

SZÉCHENYI ISTVÁN EGYETEM MŰSZAKI TUDOMÁNYI KAR INFORMATIKA TANSZÉK

A TANTÁRGY ADATLAPJA

TANULÓI KÍSÉRLET (30 perc) SNI tananyag Az emberi szív felépítése és működése

Különös Közzétételi Lista

Pedagógiai program. Helyi tanterv. enyhe értelmi fogyatékos tanulók számára

ZÁKÁNYSZÉK KÖZSÉG ÖNKORMÁNYZATA A KÉPVISELŐ-TESTÜLET ÉVI MUNKATERVE

KÖVETELMÉNYEK. Tantárgy neve. Szociolingvisztika Tantárgy kódja. MAO1103 Meghirdetés féléve 2. Kreditpont 3 Heti kontaktóraszám (elm.+gyak.

B1 szint (angol és német nyelv)

Algoritmusok bonyolultsága

A felmérési egység kódja:

Átírás:

LIMBAJE FORMALE ȘI COMPILATOARE Lucrări de laborator FORMÁLIS NYELVEK ÉS FORDÍTÓPROGRAMOK LABORGYAKORLATOK http://www.ms.sapientia.ro/~kasa/formalis.htm Nyomtatott változat Kása Zoltán 0

Formális nyelvek és fordítóprogramok http://www.ms.sapientia.ro/~kasa/formalis.htm Jelenlét kötelezõ! Ez a követelmény azokra is vonatkozik, akik a tárgyat nem elõször veszik fel. Akinek ütközik az órarendje, keressen meg. A vizsgajegy: 50% laborjegy, 50% írásbeli vizsga. 1. elõadás 2. elõadás 3. elõadás 4. elõadás 5. elõadás 6. elõadás 7. elõadás 8. elõadás 9. elõadás 10. elõadás 11. elõadás 12. elõadás 13. elõadás 14. elõadás Szakirodalom 1. Csörnyei Z., Kása Z.: Formális nyelvek és fordítóprogramok, Kolozsvári Egyetemi Kiadó, 2007. PDF Zip 2. Csörnyei Zoltán, Fordítóprogramok, Typotex Kiadó, Budapest, 2006. 3. Csörnyei Zoltán, Fordítási algoritmusok, Erdélyi Tankönyvtanács, Kolozsvár, 2000. 4. Demetrovics János, Denev, J., Pavlov, R., A számítástudomány matematikai alapjai, Nemzeti Tankönyvkiadó, Budapest, 1999. 5. Fülöp Zoltán, Formális nyelvek és szintaktikus elemzésük, Polygon, Szeged, 1999. 6. Livovschi, L., Popovici, C. P., Georgescu, H., Tãndãreanu, N., Bazele informaticii, Editura Didacticã si Pedagogicã, Bucuresti, 1981. 7. Manna, Z., Programozáselmélet, M1szaki Könyvkiadó, Budapest, 1981. 8. Révész György, Bevezetés a formális nyelvek elméletébe, Akadémiai Kiadó, Budapest, 1979. 9. Bach Iván, Formális nyelvek, Typotex, Budapest, 2005. http://mek.oszk.hu/05000/05099/ 10. Motogna Simona, Metode de poiectare a compilatoarelor, Editura Albastrã, Cluj-Napoca, 2006. 11. Grigoras Gheorghe, Constructia compilatoarelor - Algoritmi fundamentali, Editura Universitatii Al. I. Cuza, Iasi, ISBN 973-703-084-2, 2005. 12. Gyimóthy Tibor, Havasi Ferenc, Kiss Ákos: Fordítóprogramok, Typotex Kiadó, 2011. PDF 13. Aszalós László, Herendi Tamás: Fordítóprogramok feladatgyûjtemény. PDF Laborgyakorlatok Minta vizsgatételek 1

1. labor (2015. szept. 21 27.) 1. Oldjuk meg a 18. oldalon levő gyakorlatokat. (CsZ, KZ: Formális nyelvek és fordítóprogramok. Innen letölthető!) 2. Írjunk programot, amely megjelenít a képernyõn egy szövegállományt. Bekér egy szót, megkeresi és megjelöli annak elsõ elõfordulását, majd kérésre folytatja a következõ elõfordulással. CsZ, KZ: Formális nyelvek és fordítóprogramok, 18. old. 2

3

2. labor (2015. szept. 28. okt. 4.) Determinisztikus véges automata működése Írjunk programot, amely szimulálja egy determinisztikus véges automata működését! A program szövegállományból olvassa be az automata adatait, írja ki azokat a képernyőre, majd tetszőleges számú szóra vizsgálja meg, hogy az automata felismeri-e őket. A bemeneti állomány alakja: első sor: állapotok, szóközökkel elválasztva második sor: bemeneti ábécé elemei, szóközökkel elválasztva harmadik sor: kezdő állapot negyedik sor: végállapotok, szóközökkel elválasztva következő sorokban egy-egy átmenet: állapot betű állapot (szóközökkel elválasztva) Példa bemeneti állományra: bemeneti állomány: q0 q1 q2 0 1 2 q0 q0 q0 0 q0 q0 1 q1 q0 2 q2 q1 0 q1 q1 1 q2 q1 2 q0 q2 0 q2 q2 1 q0 q2 2 q1 4

3. labor (2015. okt. 5 11.) Oldjuk meg a CsZ, KZ: Formális nyelvek és fordítóprogramok c. könyv 59-60. oldalán levô 2-1., 2-2., 2-3. és 2-4. gyakorlatot. Innen letölthetô! 59 60 old. 5

4. labor. (2015. okt. 12 18.) Két determinisztikus véges automata ekvivalenciájának vizsgálata Írjunk programot két véges automata ekvivalenciájának vizsgálatára. A bemeneti adatok két különböző állományban vannak. Egy bemeneti állomány alakja: első sor: állapotok, szóközökkel elválasztva második sor: bemeneti ábécé elemei, szóközökkel elválasztva harmadik sor: kezdő állapot negyedik sor: végállapotok, szóközökkel elválasztva következő sorokban egy-egy átmenet: állapot betű állapot (szóközökkel elválasztva) 6

5. labor (2015. okt. 19 25.) Oldjuk meg a CsZ, KZ: Formális nyelvek és fordítóprogramok c. könyv 59 60. oldalán levő 2-5., 2-6., 2-7. és 2-8. gyakorlatokat. Innen letölthetô! 59 60. old. 7

6. labor (2014. okt. 26 31.) Oldjuk meg a CsZ, KZ: Formális nyelvek és fordítóprogramok c. könyv 60-61. oldalán levő 2-8., 2-9., 2-10. és 2-11. gyakorlatokat. Innen letölthetô! 60-61. old. 8

7. labor. (2015. nov. 2. nov. 8.) Zárthelyi dolgozat 9

8. labor (2015. nov. 9 15.) Determinisztikus veremautomata működésének szimulálása A program szövegállományból olvassa be az automata adatait, írja ki azokat a képernyõre. A bemeneti állomány alakja: elsõ sor: állapotok, szóközökkel elválasztva második sor: bemeneti ábécé elemei, szóközökkel elválasztva harmadik sor: veremábécé elemei, szóközökkel elválasztva negyedik sor: kezdõ állapot ötödik sor: verem kezdõszimbóluma hatodik sor: végállapotok, szóközökkel elválasztva (vagy üres sor) következõ sorokban egy-egy átmenet: állapot bemeneti-betü verembetü szó állapot (szóközökkel elválasztva) Írjunk programot az automata működésére! Példa bemeneti állapotra: q0 q1 q2 a b z0 z1 q0 z0 q0 q0 a z0 z0z1 q1 q1 a z1 z1 z1 q1 q1 b z1 eps q2 q2 b z1 eps q2 10

q2 eps z0 eps q0 9. labor (2015. nov. 16 22.) Oldjuk meg a CsZ, KZ: Formális nyelvek és fordítóprogramok c. könyv 83. oldalán levô gyakorlatokat. Innen letölthetô! 83. old. 11

10. labor (2015. nov. 23 29.) 12

11. labor (2015. nov. 30. dec. 6.) a. Ellenõrizzük a mellékelt példa számításait, felhasználva az elemzõ táblázat elkészítésére szolgáló algoritmust! 13

Az elemză táblázat elkészítésére szolgáló algoritmus: 14

15

b. Bizonyítsuk be, hogy a köv. nyelvtan nem LL(1): c. Készítsünk elemzõ táblázatot az alábbi LL(1) nyelvtanra! 16

12. labor (2015. dec. 7 13.) Adott LL(1) nyelvtan esetében írjunk programot az L*BF* mátrix kiszámítására. Bemeneti adatként adjuk meg az F, B, L mátrixokat. Az F+ és L+ kiszámítására használjuk a WARSHALL-algoritmust (8. elôadás, 7. oldal). Két mátrix szorzatára használjuk a 11. elôadás 4. oldalán megadott Warshall nevu eljárást. Példa innen letölthetô. Warshall-algoritmus (8. elôadás, 7. oldal): 17

Két mátrix szorzatára használjuk a 11. elôadás 4. oldalán lévő algoritmust; 18

19

Példa innen letölthető. 20

21

22

23

24

25

26

27

28

13. labor (2015. dec. 14 20.) Írjunk programot az LL(1) elemzôre! Bemenetként állományból olvassuk be az elemzô táblázatot és a nyelvtan szabályait. 29