User Tools

Site Tools


fordprog

This is an old revision of the document!


A PCRE internal error occured. This might be caused by a faulty plugin

==== Fordítóprogramok ===== <color red>Figyelem!</color> Az óraütközéseket [[fordprog:orautkozes|ezen az űrlapon]] kérem jelezni! //Tananyag:// Az órák anyagai és letölthető diasorozatok [[fporak|itt érhetők el]]. //Feladatgyűjtemény:// [[http://deva.web.elte.hu/fordprog/feladatgyujtemeny.pdf|letölthető]] //A tárgy célja//, hogy a hallgatók megismerjék a fordítóprogramokkal kapcsolatos alapfogalmakat és megszerezzék a fordítóprogramok írásához szükséges gyakorlati ismereteket. A félév során egy egyszerű programozási nyelv fordítóprogramját kell elkészíteni. Az előadás a szükséges algoritmusokat és módszereket mutatja be, a gyakorlat pedig segítséget ad a szoftverkörnyezet és az előadás anyagának készségszintű elsajátításához. === Követelmények === == Nappali tagozat == A gyakorlati jegy megszerzéséhez a gyakorlatvezető által kihirdetendő papíros zárthelyiket kell megírni és legalább két beadandó feladatra helyes megoldást kell leadni. A félév végi pótzárthelyin azok pótolhatják a hiányzó vagy sikertelen zárthelyi dolgozatokat, akik a beadandókkal kapcsolatos követelményt teljesítették. A gyakorlati jegy a beadandók minőségétől is függhet. A tárgyból vizsgázni legalább elégséges gyakorlati jeggyel lehet. == Esti tagozat == A szorgalmi időszakban legalább két beadandó feladatra kell helyes megoldást beküldeni, ez a vizsgára jelentkezés előfeltétele. Mentesülnek ez alól azok a hallgatók, akik korábbi félévben teljesítették a beadandókra vonatkozó követelményt. Nekik is ajánlott azonban az adott félévben kiírt beadandók elkészítése (vagy a mintamegoldások alapos tanulmányozása) a vizsgára készülés részeként. == Vizsga (nappali és esti tagozat) == A vizsga két részből áll: néhány, a tárgy lényegét érintő kérdésre kell írásban válaszolni, ezután a félév során elkészített fordítóprogramot kell megadott módon továbbfejleszteni gépteremben. Részletes információ a vizsgáról és letölthető minta-kérdéssor [[fordprog:vizsga|itt található]]. === Beadandó feladatok === * A megvalósítandó programozási nyelv leírása [[fordprog:while2019|itt elérhető]]. * Feladatok: - [[fordprog:bead1|lexikális elemző]] * első értékelhető megoldás határideje: március 4. (hétfő) éjfél * javítások határideje: március 11. (hétfő) éjfél * [[https://deva.web.elte.hu/fordprog/1-lexikalis.zip|mintamegoldás]] - [[fordprog:bead2|szintaktikus elemző]] * első értékelhető megoldás határideje: április 1. (hétfő) éjfél (nem térfa! ;-)) * javítások határideje: április 8. (hétfő) éjfél * [[https://deva.web.elte.hu/fordprog/2-szintaktikus.zip|mintamegoldás]] - [[fordprog:bead3|szemantikus elemző]] * első értékelhető megoldás határideje: április 29. (hétfő) éjfél * javítások határideje: május 6. (hétfő) éjfél * [[https://deva.web.elte.hu/fordprog/3-szemantikus.zip|mintamegoldás]] - [[fordprog:bead4|kódgenerátor]] * első értékelhető megoldás határideje: május 17. (péntek) éjfél * javítások határideje: május 22. (szerda) éjfél * [[https://deva.web.elte.hu/fordprog/4-kodgen.zip|mintamegoldás]] === Szoftverkörnyezet === * Lexikális elemző generátor: **flex** * [[https://github.com/westes/flex/releases|letöltés]] * [[http://dinosaur.compilertools.net/flex/index.html|dokumentáció]] * [[http://deva.web.elte.hu/fordprog/lexikalis-pelda.zip|példaprogram]] * [[http://deva.web.elte.hu/fordprog/flex-tutorial.pdf|tutorial]] * Szintaktikus elemző generátor: **bisonc++** * [[http://sourceforge.net/project/showfiles.php?group_id=129936|letöltés]] * [[http://bisoncpp.sourceforge.net/bisonc++.html|dokumentáció]] * [[http://deva.web.elte.hu/fordprog/szintaktikus-pelda.zip|példaprogram]] * [[http://deva.web.elte.hu/fordprog/bisoncpp-tutorial.pdf|tutorial]] * Szemantikus elemzés: * [[http://deva.web.elte.hu/szemantikus.hu.html|segédanyag]] * [[http://deva.web.elte.hu/fordprog/szemantikus-pelda.zip|példaprogram]] * Kódgenerálás: * [[http://deva.web.elte.hu/fordprog/14-kodgen-handout.pdf|segédanyag]] * [[http://deva.web.elte.hu/fordprog/kodgen-pelda.zip|példaprogram]] * [[http://www.nasm.us/xdoc/2.09.10/html/nasmdoc0.html|NASM dokumentáció]] * [[http://www.jegerlehner.ch/intel/IntelCodeTable.pdf|Assembly kódtáblázat]] Megfelelő verziószámú //flex// és //bisonc++// programok érhetőek el a //pandora.inf.elte.hu// szerveren. Otthoni gépekre számos linux disztribúció alatt csomagból is telepíthetőek, de ügyelni kell rá, hogy a //bisonc++// verziószáma azonos legyen a pandora szerveren lévővel.

fordprog.1558620008.txt.gz · Last modified: 2019/05/23 16:00 by deva