Tantárgy kódja
PMB1220
Tantárgy neve
Fordítóprogramok
Tantárgy angol neve
Compilers
Kredit
2
Félévi követelmény
Gyakorlati jegy
Heti óraszám
0 + 2
Elmélet
+ Gyakorlat
Előkövetelmény
PMB1217
Ajánlott félév
6
Cél
A hallgatókat megismertetni a különböző fordítóprogramok elméleti hátterével
Cél angol
The aim of course is to be know the bases of the compiler programs.
Tartalom
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.. Lexikai elemzés, szimbólumtábla, 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 bottom-up elemzés, LR(k) grammatika és elemzés.
Az operátor-precedencia grammatikák, az egyszerű precedencia grammatikák és elemzésük.
Példa nyelvtannal paraméterezhető szintaktikus elemzésre és kódgenerálásra, pl. Java nyelv esetén az ANTLR csomag használata.
Szemantikus elemzés, kódgenerálás, kódoptimalizálás.
Tartalom angol
Regular expressions, lexical and semantic controll, LR(k), LL(k), Early algorithm.
Számonkérés
gyakorlati jegy
Számonkérés angol
term grade
Irodalom
Csörnyei Zoltán: Bevezetés a fordítóprogramok elméletébe I., II., Nemzeti Tankönyvkiadó, Budapest, 1996.
Fülöp Zoltán: Formális nyelvek és szintaktikus elemzésük, Polygon kiadó, Polygon jegyzettár sorozat, Szeged, 2001.
Irodalom angol
Compiler textbook references A collection of references to mainstream Compiler Construction Textbooks[dead link]
Aho, Alfred V.; Sethi, Ravi; Ullman, Jeffrey D. (1986). Compilers: Principles, Techniques, and Tools (1st ed.). Addison-Wesley. ISBN 9780201100884.
Allen, Frances E. (September 1981). "A History of Language Processor Technology in IBM" (PDF). IBM Journal of Research and Development (IBM) 25 (5). doi:10.1147/rd.255.0535. (subscription required (help)).
Allen, Randy; Kennedy, Ken (2001). Optimizing Compilers for Modern Architectures. Morgan Kaufmann Publishers. ISBN 1-55860-286-0.
Appel, Andrew Wilson (2002). Modern Compiler Implementation in Java (2nd ed.). Cambridge University Press. ISBN 0-521-82060-X.
Appel, Andrew Wilson (1998). Modern Compiler Implementation in ML. Cambridge University Press. ISBN 0-521-58274-1.
Bornat, Richard (1979). Understanding and Writing Compilers: A Do It Yourself Guide (PDF). Macmillan Publishing. ISBN 0-333-21732-2.
Cooper, Keith D.; Torczon, Linda (2004). Engineering a Compiler. Morgan Kaufmann. ISBN 1-55860-699-8.
Tantárgyfelelős intézet kódja
MII
Tantárgyfelelős oktató
Dr. Falucskai János