User Tools

Site Tools


fordprog:bead2

This is an old revision of the document!



Warning: Declaration of syntax_plugin_gallery::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /afs/elte.hu/user/d/deva/web/pubwiki/lib/plugins/gallery/syntax.php on line 17

Warning: Declaration of syntax_plugin_gallery::render($mode, &$R, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /afs/elte.hu/user/d/deva/web/pubwiki/lib/plugins/gallery/syntax.php on line 17

Warning: Declaration of syntax_plugin_cellbg::handle($match, $state, $pos, &$handler) should be compatible with DokuWiki_Syntax_Plugin::handle($match, $state, $pos, Doku_Handler $handler) in /afs/elte.hu/user/d/deva/web/pubwiki/lib/plugins/cellbg/syntax.php on line 0

Warning: Declaration of syntax_plugin_cellbg::render($mode, &$renderer, $data) should be compatible with DokuWiki_Syntax_Plugin::render($format, Doku_Renderer $renderer, $data) in /afs/elte.hu/user/d/deva/web/pubwiki/lib/plugins/cellbg/syntax.php on line 0

Fordítóprogramok, 2. beadandó

  • Határidő: közel kész megoldás: március 4. (hétfő) éjfél, javítások: március 11. (hétfő) éjfél
  • Tesztfájlok a beadandók ellenőrzéséhez letölthetőek.
  • Az ajánlott fejlesztőkörnyezet a pandora.inf.elte.hu szerver.
  • Feladat: szintaktikus elemző elkészítése ehhez a nyelvhez
    • bisonc++ segítségével (segítség főleg estiseknek: Bisonc++ tutorial)
    • a programnak parancssori paraméterben lehessen megadni az elemzendő fájl nevét
    • a program minden alkalmazott szabályhoz egy sort írjon a képernyőre, például
        ertekadas -> azonosito ERTEKADAS kifejezes PONTOSVESSZO
        utasitas -> ertekadas
        ...
  • szintaktikus hiba észlelése esetén hibajelzést kell adni, és a fordítóprogram visszatérési értéke 1 legyen (azaz exit(1) utasítást kell végrehajtani a hibajelzés után)
  • ha a forrásfájl szintaktikusan helyes, akkor a fordítóprogram visszatérési értéke legyen 0 (azaz return 0 utasítással fejeződjön be)
  • ebből a példaprogramból érdemes kiindulni
  • a tesztfájlok közül a lexikalis_hibas és szintaktikus_hibas kiterjesztésű fájlokra kell hibát jelezni, a többit el kell fogadni.
  • Beadás módja:
    • Ezen az oldalon kell a szintaktikus elemző feladatra beadni a forrásfájlokat az alábbi formában:
        flex forrásfájl (.l)
        ###
        bisonc++ forrásfájl (.y)
        ###
        Parser.h headerfile
        ###
        Parser.ih implementációs headerfile
        ###
        c++ forrásfájl (main)
fordprog/bead2.1552746723.txt.gz · Last modified: 2019/03/16 15:32 (external edit)