E lap tartalma:
1.
írásbeli bírálat
2.
írásbeli bírálat
Összesítés
A dolgozat szerkesztése, stílusa (max. 5 pont)
Jól áttekinthető, tömör stílusban írt. Néhol a jobb megértést segítette volna egy kicsit részletesebb leírás. 4 pont
A téma irodalmának feldolgozása (max. 10 pont)
Látszik, hogy a témakör irodalmát alaposan átnézte. De pl. a más hasonló rendszerek ismertetésénél nem derül ki, hogy azok pontosan milyen célra készültek. 8 pont
A téma feldolgozási módszerének színvonala (max. 10 pont)
A szerző bebizonyította, hogy jól ismeri a fordítók készítésének problémakörét, az elérhető eszközök alkalmazása során számos egyedi ötletet is alkalmazott. 10 pont
Az eredmények értékelése (max. 10 pont)
A szerző alaposan és objektíven tárgyalja az elkészített rendszer erényeit és hiányosságait is. 10 pont
A kapott eredmények gyakorlati alkalmazhatósága (max. 10 pont)
A dolgozat/munka végterméke, az elkészített Occam elemző jelenlegi sebessége megkérdőjelezi gyakorlati hasznosságát. A másik fontos eredmény, a fordító írása során alkalmazott megoldások más hasonló munkában is felhasználhatók. 8 pont
Örömmel olvastam ezt a dolgozatot. A választott téma érdekes és a szerző új ötletekkel, megoldásokkal állt elő a megoldás során. A dolgozat szerkezete tiszta és világos. A túl oldalon olvasható kritikus megjegyzéseim ellenére úgy gondolom, hogy ez egy igen jó színvonalú TDK dolgozat.
Néhány specifikus megjegyzés:
A más hasonló rendszerek leírásánál csak arra tér ki a szerző, hogy azok “elsősorban nem az occambeli fejlesztés további támogatását tűzték ki célul.” Az viszont nem derül ki egyértelműen, hogy akkor mire használják azokat.
Az elemző ismertetésénél megemlíti, hogy a lex/yacc típusú eszközöket azért vetette el, mert a tabulátor pozícióktól függő blokkhatárokat nehéz lenne elemezni. Viszont a megvalósítás leírásánál módszer szerintem probléma nélkül alkalmazható lenne egy lex/yacc-ra épülő elemzőben is.
A kódoló leírásánál egyes részletek nem világosak. Pl. a változók láthatósága a generált C++ kódban nehezen érthető. Az Occam utasítások fordításánál sokat segített volna egy tömör emlékeztető, hogyan működnek ezek az utasítások. Megértem, hogy a szerző célja a tömörség, de mivel az Occam nem egy széles körben ismert nyelv, itt tehetett volna kivételt.
Az értékelés szakaszban a szerző nagyvonalúan lényegtelen részletkérdésnek minősíti az elemző felgyorsítását. A számok tükrében (165 sor—22 perc) egy igen jelentős gyorsításra van szükség és a dolgozatból számomra nem világos, hogy milyen módon lehet ezt elérni.
Oláh András, tudományos munkatárs
Ericsson Kft., (1) 437-7781
1998. október 29.
| From: | Peter Verhas |
| Sent: | 1998. November 2. 11:35 |
| To: | ’popp@eet.bme.hu’ |
| Subject: | TDK bírálat 2/2 |
Surján Gábor Mihály: OCCAM fordítóprogram készítése Prolog nyelven
Bíráló: Verhás Péter
A dolgozat rögtön a bevezetőjében egy hibás tézissel indít, miszerint az objektumorientált programozás megvalósítása általában nagy “overheadet” okoz (hogy a dolgozat nyelve Hungarian-e vagy sem az még egy kérdés). Ez nem igaz, és ha még azt is figyelembe vesszük, hogy a szerző által készített program Prolog nyelvű, amely valóban “overheadet” “okoz”, akkor még élesebb a hiba. Mivel a dolgozat erre a tézisre nem épít, ezt nem használja (tulajdonképpen miért kellett ez a mondat?) a dolgozat nagyon jó. A téma leírása, a feladat kitűzése, annak szükségessége érthető, az indokok világosak.
Rendkívül jónak tartom, hogy a szerző nem állt neki teljesen előlröl mindent kifejleszteni, hanem volt bátorsága már kész eszközt, a Janus 2000 igénybe venni. A terméket és szellemi atyját (Molnár Máté) személyesen is ismerem. Meg kell azonban jegyeznem, hogy a 14. oldalon szereplő mondat üzenetével, miszerint (a Janus 2000) “… termék imperatív programozási nyelven (C++) készült el annak minden hátrányával együtt.” nem tudok azonosulni, bár a mondat szigorúan vett tartalma igaz. Ugyanis a Janus 2000 imperatív programozási nyelven (C++) készült el annak minden előnyével és hátrányával együtt. A Janus 2000 egy végfelhasználói eszköz, amely tartalmazza a felhasználói felület kezelését, nagysebességű feldolgozást kell biztosítania, így a C++ nyelv helyett vagy mellett csak igen kevés nyelv jöhetne szóba fejlesztésre.
Az ez után következő mondat, miszerint “Az idén az IQSoft Rt-nél megkezdődött ennek (a Janus 2000-nek. bíráló) áttétele Prologba.” nem igaz. Ismereteim szerint, amelyeket Molnár Mátétól, a Janus 2000 program szellemi tulajdonosától kaptam, az IQSoft csupán a Janus 2000-ben alkalmazható script nyelvet cseréli ki egy Prologban implementált nyelvre a Compaq/Digital-lal való megállapodás keretében. A Janus 2000-et már csak azért sem írhatja újra az IQSoft, mert az nem az IQSoft szellemi tulajdona.
Ettől a két hibától eltekintve a dolgozat gyakorlatilag tökéletes. Az irodalmat alaposan feldolgozza, új eredményeket is felmutat.
Összességében az értékelés:
| Max. (pont) | Elért (pont) | ||
| Dolgozatra adott pontszámok átlaga | 45 | 41,50 | |
| Bírálók | 1) | 45 | 40 |
| 2) | 45 | 43 | |
| Az előadásra adott pontszámok | Tárgyi tudás | 10 | 7,50 |
| Felépítés | 5 | 3,00 | |
| Technikai előkészítés | 3 | 2,00 | |
| Időgazdálkodás | 2 | 1,50 | |
| Dolgozat + előadás | 65 | 55,50 | |
| Javasolt helyezés | 3 | ||
| Megjegyzés | Javasolt díjösszeg (eFt) | 17 | 12 |