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