Fordítóprogramok Készítette: Nagy Krisztián



Hasonló dokumentumok
1. Metrótörténet. A feladat folytatása a következő oldalon található. Informatika emelt szint. m2_blaha.jpg, m3_nagyvaradter.jpg és m4_furopajzs.jpg.

2011. március 9. Dr. Vincze Szilvia

1. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2015/2016-os tanév

A döntő feladatai. valós számok!

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

A Hozzárendelési feladat megoldása Magyar-módszerrel

Analízis elo adások. Vajda István szeptember 24. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

Programozás I gyakorlat

Arany Dániel Matematikai Tanulóverseny 2011/2012-es tanév első (iskolai) forduló haladók I. kategória

Útmutató a vízumkérő lap kitöltéséhez

Párhuzamos programozás

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Trigonometria

Lineáris algebra gyakorlat

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Shared IMAP beállítása magyar nyelvű webmailes felületen

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

BOLYAI MATEMATIKA CSAPATVERSENY ORSZÁGOS DÖNTŐ SZÓBELI (2012. NOVEMBER 24.) 3. osztály

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Analízis elo adások. Vajda István október 3. Neumann János Informatika Kar Óbudai Egyetem. Vajda István (Óbudai Egyetem)

KOVÁCS BÉLA, MATEMATIKA I.

Flex tutorial. Dévai Gergely

A táblázatkezelő felépítése

Üresként jelölt CRF visszaállítása

Emelt szintű érettségi feladatsorok és megoldásaik Összeállította: Szászné Simon Judit; dátum: november. I. rész

ADATBÁZIS-KEZELÉS. Funkcionális függés, normál formák

BOLYAI MATEMATIKA CSAPATVERSENY FŐVÁROSI DÖNTŐ SZÓBELI (2005. NOVEMBER 26.) 5. osztály

Diszkrét matematika I. gyakorlat

Vegyes tételek könyvelése felhasználói dokumentum Lezárva:

MAGYAR NYELV a 4. évfolyamosok számára. MNy2 JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

KÖZLEKEDÉSI ALAPISMERETEK (KÖZLEKEDÉS - ÜZEMVITEL, KÖZLEKEDÉS-TECHNIKA) KÖZLEKEDÉSI ALAPISMERETEK ÉRETTSÉGI VIZSGA II.

EPER E-KATA integráció

Nemzeti Edzés Központ válogatott tenisz edzéseken való részvétel és egyéb időpontok igénybevétele a téli időszakban

Műszaki ábrázolás II. 3. Házi feladat. Hegesztett szerkezet

FORDÍTÓPROGRAMOK. MKSA3144F kidolgozott tételek ás verzió január 21., Domján Tamás

ÉVKÖZI MINTA AZ EGÉSZSÉGÜGYI BÉR- ÉS LÉTSZÁMSTATISZTIKÁBÓL. (2004. IV. negyedév) Budapest, április

Azonosító jel: Matematika emelt szint

Házi dolgozat. Minta a házi dolgozat formai és tartalmi követelményeihez. Készítette: (név+osztály) Iskola: (az iskola teljes neve)

MATEMATIKA ÍRÁSBELI VIZSGA május 3.

Beszámoló: a kompetenciamérés eredményének javítását célzó intézkedési tervben foglaltak megvalósításáról. Őcsény, november 20.

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

KOVÁCS BÉLA, MATEMATIKA I.

MBLK12: Relációk és műveletek (levelező) (előadásvázlat) Maróti Miklós, Kátai-Urbán Kamilla

ingyenes tanulmány GOOGLE INSIGHTS FOR SEARCH

E-ADÓ RENSZER HASZNÁLATI ÚTMUTATÓ

Kérdések és feladatok

A 27/2012 (VIII. 27.) NGM rendelet (12/2013 (III.28) NGM rendelet által módosított) szakmai és vizsgakövetelménye alapján.

AWP TELEPÍTÉSE- WINDOWS7 64 OPERÁCIÓS RENDSZEREN

Elemi adatszerkezetek

Számítógépes vírusok

MAGYAR KÜZDELMEK HARMADIK GYAKORLAT ELINDULÁS NYERS SZÖVEG RENDBETÉTELE (ISMÉTLÉS) ÜZLETI INFORMATIKAI ESZKÖZÖK Kiadványszerkesztés

Operációkutatás. 2. konzultáció: Lineáris programozás (2. rész) Feladattípusok

Segítünk online ügyféllé válni Kisokos

ÉVKÖZI MINTA AZ EGÉSZSÉGÜGYI BÉR- ÉS LÉTSZÁMSTATISZTIKÁBÓL. (2004. III. negyedév) Budapest, december

G Szabályfelismerés feladatcsomag

Dial-UP Kapcsolat létrehozása angol nyelvű Windows 2000 alatt

Vektorok összeadása, kivonása, szorzás számmal, koordináták, lineáris függetlenség

Az Európai Szabadalmi Egyezmény végrehajtási szabályainak április 1-étől hatályba lépő lényeges változásai

Szerb középszintű szóbeli vizsga értékelési útmutató

Matematikai és matematikai statisztikai alapismeretek


Az első lépések. A Start menüből válasszuk ki a Minden program parancsot. A megjelenő listában kattintsunk rá az indítandó program nevére.

1. Írja fel prímszámok szorzataként a 420-at! 2. Bontsa fel a et két részre úgy, hogy a részek aránya 5 : 4 legyen!

Csoportosított adatok megjelenítése sorhalmaz függvények használatával

Boldva és Vidéke Taka r ékszövetkezet

Boldva és Vidéke Taka r ékszövetkezet

SÜTIK TÖRLÉSE. Készült: Módosítva:

Az éves statisztikai összegezés STATISZTIKAI ÖSSZEGEZÉS AZ ÉVES KÖZBESZERZÉSEKRŐL A KLASSZIKUS AJÁNLATKÉRŐK VONATKOZÁSÁBAN

Munkaerőpiaci szervező, elemző Személyügyi gazdálkodó és fejlesztő

KÍNAI NYELV JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Készítsen négy oldalas prezentációt egy vállalat bemutatására!

Fábián Zoltán Hálózatok elmélet

Dr. Schuster György február 21. Real-time operációs rendszerek RTOS

Árverés kezelés ECP WEBSHOP BEÉPÜLŐ MODUL ÁRVERÉS KEZELŐ KIEGÉSZÍTÉS. v ECP WEBSHOP V1.8 WEBÁRUHÁZ MODULHOZ

Memóriamodulok Felhasználói útmutató

Beállítások CLASSBOOK-óratervező. Első belépés

ÁFA felhasználói dokumentum Lezárva:

Vektoros elemzés végrehajtása QGIS GRASS moduljával 1.7 dr. Siki Zoltán

NÉMET NEMZETISÉGI NÉPISMERET

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

FÖLDRAJZ JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

Művesekezelés anyagainak beszerzése a Semmelweis Egyetem Transzplantációs és Sebészeti Klinika részére

EQ-Skill Humán Tanácsadó és Vezetőfejlesztő Kft Budapest, Bimbó út 5.

Analízis előadások. Vajda István február 10. Neumann János Informatika Kar Óbudai Egyetem

PONTSZÁMÍTÁSI KÉRELEM felsőfokú végzettség alapján (alap- és osztatlan képzésre jelentkezőknek)

MEZŐGAZDASÁGI ALAPISMERETEK ÉRETTSÉGI VIZSGA II. A VIZSGA LEÍRÁSA

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ. Ápolási asszisztens szakképesítés Higiéné, munkavédelem modul. 1. vizsgafeladat augusztus 09.

Minta. A középszintű szóbeli vizsga értékelési útmutatója

Digitális technika (VIMIAA01) Laboratórium 1

EMELT SZINTŰ ÍRÁSBELI VIZSGA

JAVÍTÁSI-ÉRTÉKELÉSI ÚTMUTATÓ

BOLYAI MATEMATIKA CSAPATVERSENY DÖNTŐ osztály

ÚTMUTATÓ A KONTROLL ADATSZOLGÁLTATÁS ELKÉSZÍTÉSÉHEZ (2012-TŐL)

ÉVKÖZI MINTA AZ EGÉSZSÉGÜGYI BÉR- ÉS LÉTSZÁMSTATISZTIKÁBÓL. (2004. I. negyedév) Budapest, július

Az éves statisztikai összegezés. Statisztikai összegezés az éves közbeszerzésekről a Kbt. IV. és VI. fejezete szerinti ajánlatkérők vonatkozásában

MATEMATIKA VERSENY

Algebra es sz amelm elet 3 el oad as Rel aci ok Waldhauser Tam as 2014 oszi f el ev

SZÁMÍTÓGÉPES NYELVI ADATBÁZISOK

BÁTASZÉK SE KARATE SZAKOSZTÁLY

Keretszerződés költöztetési, szállítási feladatok ellátására a Pécsi Tudományegyetemen-2- AF módosítás

Sajátos Szükségletű Hallgatókat Segítő Szabályzat (Részlet)

Átírás:

Fordítóprogramok Készítette: Nagy Krisztián Reguláris kifejezések (FLEX) Alapelemek kiválasztása az x karakter. tetszőleges karakter (kivéve újsor) [xyz] karakterhalmaz; vagy egy x, vagy egy y vagy egy z [abj-oz] karakterhalmaz intervallummal [^A-Z] negált karakterhalmaz; bármilyen karakter kivéve nagy betűk [^A-Z\n] bármely karakter, kivéve nagybetűk és újsor \x a speciális karakterek, pl. \n, \t; továbbá reguláris kifejezésekben műveletjelek karakterként való használata, pl. \*, \+ \0 a 0 kódú ASCII karakter \123 az oktális 123 kódú karakter \x2a a hexadecimális 2a kódú karakter Műveletek kiválasztása rs r után egy s (konkatenáció) r s egy r vagy egy s (unió) nulla vagy több r r; a zárójelek a műveleti sorrend jelölésére használhatók r+ egy vagy több r nulla vagy egy r (opcionális r) r{2,5} kettőtől ötig valahány r r{2,} kettő vagy több r r{4} pontosan négy r ^r egy r a sor elején r$ egy r a sor végén (A műveletekben r és s tetszőlegesen összetett reguláris kifejezések lehetnek.) {name} deklarációs részben megadott név kifejtése

Feladatok (Reguláris kifejezéssel) 1. egész szám (legalább egy számjegy 0-9-ig) 2. olyan egész szám, amely több számjegy esetén nem kezdődhet nullával. 3. előjeles egész szám (opcionálisan + vagy az elején) 4. törtszám (tizedespont előtt legalább egy számjegy) Megoldás 1. 2. 3. 4. \. Lexikális elemzés 1. feladat: Adottak az alábbi lexikai elemek egy-egy reguláris kifejezéssel. Elemezzük ez alapján az ABAB és az AABAA inputokat. AB ABA AA ABAB AABAA ABA VAR AA VAR AA 2. feladat: Adottak az alábbi lexikai elemek egy-egy reguláris kifejezéssel. Elemezzük ez alapján az ALMA123 BEGINEND BEGIN 12 inputot. BEGIN END NUM WS VAR ALMA123 BEGINEND BEGIN 12 VAR WS VAR WS BEGIN WS NUM

A lexikális elemző betűnként elemez. Amennyiben egyértelmű a felismerés, akkor a leghosszabb illesztkedés alapján dönti el, hogy melyik lexikai elemre fordítsa az adott inputot a fordító. Abban az esetben, ha nem egyértelmű a felismerés, akkor a lexikai elemek felsorolásában a sorrend alapján dönti el, hogy melyiket válassza. Abban az esetben, ha a megadott inputot nem lehet tokenekre bontani, a fordítás kimenetele lexikális hiba lesz. Szintaktikus elemzés A szintaktikus szabályok leírása kettes típusú (környezetfüggetlen) nyelvtanokkal történik. Felülről lefele haladó szintaktikus elemzők LL elemzés Egyszerű -mentes Általános -mentes -mentes szabályok jobboldala terminális szimbólummal és külön kezdődik ( alakú) szabályok esetén az azonos nemterminálisokhoz tartozó szabályok jobb oldalai különböző terminálissal kezdődnek és külön szabályok esetén ( és, akkor ) 1. feladat: Adottak az alábbi grammatikák. Döntsük el róluk, hogy egyszerű -ek e! Amennyiben nem azok indokoljuk meg, hogy miért nem! a) b) c) Megoldás: a) Nem egyszerű, mivel tartalmaz szabályt. (Nem -mentes) b) Nem egyszerű, mivel tartalmaz olyan szabályt, amelynek a jobb oldala nem terminálissal kezdődik. Lásd: c) Egyszerű, mivel teljesíti az összes feltételt.

2. feladat: Elemezzük a fentebbi feladatban megadott egyszerű LL(1) grammatika alapján, hogy az aabaaa input szintaktikusan helyes-e elemzővermek segítségével. Írjuk fel a fentebbi grammatika elemzőtáblázatát is. Megoldás: Az egyszerűség kedvéért jelöljük meg a szabályokat számokkal: verem alja kezdő szimbólummal indulunk elemzendő input alkalmazott szabályok (kezdetben nem alkalmaztunk semmit) Mivel a 2 verem egyszerre lett üres, így sikeres volt az elemzés. Az adott input megfelelő volt. Elemző táblázat: Az elemzőtáblázat első oszlopába kezdetben a grammatikában található nem terminálisok kerülnek felsorolásra, majd a terminálisok, végezetül pedig a #. Az első sorban pedig a grammatikában található terminálisok szerepelnek és végezetül a #. A táblázat további celláiba az aktuális terminálishoz tartozó szabály kerül. Az üresen maradt cellák pedig hibát jelentenek. OK

3. feladat: Adottak az alábbi grammatikák. Döntsük el róluk, hogy -mentes -ek e! Amennyiben nem azok indokoljuk meg, hogy miért nem! a) b) c) Megoldás: a) Nézzük meg az azonos bal oldalhoz tartozó jobb oldalak FIRST halmazát: Ezért a megadott grammatika NEM -mentes. b) Az szabály miatt bal rekurzív nyelvtanról beszélhetünk. Ezeket a nyelvtanokat pedig kizárjuk a vizsgálat alól. Ezért a megadott grammatika NEM -mentes. c) Nézzük meg az azonos bal oldalhoz tartozó jobb oldalak FIRST halmazát: Nézzük a metszeteket: Mivel a nyelv -mentes és az azonos bal oldalhoz tartozó szabályok FIRST halmazainak a metszetei diszjunktak, ezért a megadott grammatika -mentes.

4. feladat: Elemezzük a fentebbi feladatban megadott -mentes LL(1) grammatika alapján, hogy a dadc input szintaktikusan helyes-e elemzővermek segítségével. Írjuk fel a fentebbi grammatika elemzőtáblázatát is. Megoldás: Elemző táblázat: A táblázatot a FIRST halmazok alapján töltjük ki! OK Elemzés vermekkel: Szintaktikai hiba, mivel az elemzendő inputot tartalmazó verem kiűrült úgy, hogy a másik verem még nem.

5. feladat: Adott az alábbi grammatika. Döntsük el róla, hogy általános LL(1)-e! típusú szabályok esetén: - Mi az első olyan terminális elem, ami nem -ból lett levezetve, de az első utána. Megjegyzés: Folyamatosan ezt állítja elő, így az -ba nem kerül új elem! Mivel grammatika általános LL és ezért a fentebb megadott

6. feladat: Írjuk fel az előző feladatban látott általános LL grammatika elemző táblázatát. Az elemzőtáblázatot a FIRST halmazok alapján írjuk fel. OK Alulról felfele haladó szintaktikus elemzők LR elemzés Feladat: Adott az alábbi grammatika. Lássuk be elemzés segítségével, hogy az axbx mondata- e a nyelvnek. Írjuk fel a kannonikus halmazokat, készítsünk automatát és ellenőrizzük veremmel a fentebbi kérdést! Megoldás: Egészítsük ki a nyelvtant: Kannonikus halmazok LR elem:, ahol a. jelzi, hogy hol tartunk adott input beolvasása után az addig elemzett inputtal. Megjegyzés: Minden CLOSURE halmazt addíg bővítünk, ameddig képes bővülni. Az aktuális szabály is a halmaz része. Akkor fejeződött be a teljes feldolgozás, ha az összes pont a szabályok jobb oldalán a szabályok végére kerül.

Automata:

Elemzés veremmel: - 2. paraméter : állapot Megjelent helyesen, így az adott axbx kifejezés mondat a nyelvben. Elemző táblázat: action 0 shift 1 3 2 4 1 reduction 2 reduction 3 shift 5 3 2 4 4 shift 6 3 2 4 5 reduction 6 shift 7 7 reduction Amire figyelni kell: egy nyelvtan, ha konfliktus mentes a kannonikus alakja. Lehetséges konfliktusok: Shift/Shift egy állapotból 2 állapotba lehet eljutni ugyan azzal a szimbólummal Reduction/Reduction két szabály a táblázat valamelyik redukáló sorában Shift/Reduction redukáló állapot, de vezet ki belőle él.