This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
fordprog [2019/11/15 10:30] deva |
fordprog [2020/02/17 13:19] deva |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Fordítóprogramok ===== | + | ==== Fordítóprogramok (régi BSc tanterv szerinti kifutó tárgy) ===== |
- | + | ||
- | <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:plang2019|itt elérhető]]. | + | |
- | * Feladatok: | + | |
- | - [[fordprog:bead1|lexikális elemző]] | + | |
- | * első értékelhető megoldás határideje: október 7. (hétfő) éjfél | + | |
- | * javítások határideje: október 14. (hétfő) éjfél | + | |
- | * <color green>Mintamegoldás</color> [[http://deva.web.elte.hu/fordprog/1-lexikalis.zip|letölthető]]. | + | |
- | - [[fordprog:bead2|szintaktikus elemző]] | + | |
- | * első értékelhető megoldás határideje: november 4. (hétfő) éjfél | + | |
- | * javítások határideje: november 11. (hétfő) éjfél | + | |
- | * <color green>Mintamegoldás</color> [[http://deva.web.elte.hu/fordprog/2-szintaktikus.zip|letölthető]]. | + | |
- | - [[fordprog:bead3|szemantikus elemző]] | + | |
- | * első értékelhető megoldás határideje: november 25. (hétfő) éjfél | + | |
- | * javítások határideje: december 2. (hétfő) éjfél | + | |
- | - kódgenerátor | + | |
- | * első értékelhető megoldás határideje: december 16. (hétfő) éjfél | + | |
- | * javítások határideje: december 20. (péntek) éjfél | + | |
- | + | ||
- | === 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. | + | |
+ | A tárgy előadója és szervezője a 2020. tavaszi félévben Nagy Sára tanárnő. További információk a kurzushoz tartozó Canvas oldalon találhatók. |