Tárgy: PMB2108, Fordítóprogramok
Oktató: dr. Vályi Sándor
Meghirdetés féléve : 6
Kreditpont : 3
Heti kontakt óraszám (elm.+gyak.): 3+6 levelező képzési rendben
Félévi követelmény: kollokvium
Előfeltétel (tantárgyi kód) : PMB1203
Tantárgyfelelős neve és beosztása: Dr. Vályi Sándor f. docens
Évközi követelmények: Két programírás (1. lexikális elemzés, 2. szintaktikai elemzés, kódgenerálás) . (március 22/24.) ill. (május 3/5.), Papír zárthelyi dolgozat (március 29/31.) Javítás május 10/12-én. Az esetleges időpontváltozásokról a http://moodle.nyf.hu mefelelő kurzusánál lehet tájékozódni.
Vizsgajegy: kollokvium
Tantárgyi program: A fordítóprogramok kialakulásának rövid, vázlatos történeti áttekintése, bemutatva a főbb történeti lépéseket. Reguláris kifejezések. Speciális problémák; kulcsszavak, standard szavak, az előreolvasás, a szimbólumtábla, direktívák. Hibakezelés. Környezetfüggetlen grammatikák és szintaktikus elemzés, szintaxis és szemantika. A szintaktikus elemzés alapfogalmai, módszereinek általános tulajdonságai. Felülről-lefelé elemzések: teljes visszalépéses elemzés, korlátozott visszalépéses elemzés, LL(k) grammatikák és elemzések. Alulról-felfelé elemzések: A visszalépéses elemzés, operátor-precedencia grammatikák, az egyszerű precedencia grammatikák és elemzések, LR(k) grammatikák és elemzések. A szimbólumtábla: A szimbólumtábla tartalma, műveletek a szimbólumtáblán, verem szimbólumtábla, szintaktikus elemzés és szimbólumkezelés. A szemantikus elemzés: Az akciószimbólumok és a fordítási grammatikák, az elemzővezérelt szemantikus verem, a rekurzív leszállás implicit szemantikus verme, attribútum fordítási grammatikák. Hibakezelés: Hibák, szimptómák, anomáliák, hibajelzés, hibafelfedés, hibajavítás. Memóriagazdálkodás: Statikus- és dinamikus memóriakezelés. Kódgenerálás: Program prológus és epilógus, deklarációk, kifejezések, vezérlő utasok, alprogramok, input és output utasítások fordítása. Kódoptimalizálás: A lokális, a globális és a gépfüggő optimalizálások.
Oktatási segédanyag: Az órán bemutatott és internetről letölthető elektronikus dokumentumok és előadásvázlat. A http://moodle.nyf.hu tartalomkezelő rendszeren keresztül elérhető. A kurzusfelvételi kód az első előadáson kerül közlésre.
Kötelező és
ajánlott irodalom:
Csörnyei Zoltán: Fordítóprogramok,
Typotex,
Budapest, 2006.
Fülöp Zoltán: Formális
nyelvek és szintaktikus elemzésük,
Polygon, Szeged, 2001.
Appel, Palsberg: Modern
Compiler Implementation in Java, Cambridge
University Press, 2002. [ajánlott]
T. Parr: The
definitive ANTLR reference. (The
Pragmatic Programmer Bookshelf), Raleigh, 2007, (ISBN:
978-09787392-4-9
).[ajánlott]