[this page in English]

Olvasható fordító

Ez a fordító egy rögtönzött nyelvet fordít prolog és standard ML nyelvekre.

A fordítót a 2006. őszi félévben írtam, amikor is fölvettem a deklaratív programozás tárgyat. Ebből a tárgyból nagy házi feladatot kellett írni. Ez egy néhány nap nehézségű programozási projekt, amiben ugyanarra a feladatra prolog és standard ml nyelven is be kell adni programot. Mindkét beadott programomat ezzel a fordítóval generáltam. A beadott programokat és forráskódokat is letöltheti erről az oldalról.

Az olvasható nyelvet úgy állítottam össze, hogy mind sml-re, mind prolog-ra könnyű legyen lefordítani. Így aztán az olvasható nyelv mentes a mellékhatásoktól, erősen statikusan típusos, és nem lusta kiértékelésű.

A fordító ruby nyelven íródott. A ruby compile.rb foo.olv paranccsal lehet futtatni, ez a kimenetet a foo.pl és foo.sml fileokba rakja, ezek előző tartalmát eldobva.

Letölthető fileok

bkg.html: további információ a fordítóról, benne a nyelv szintaxisa
compile.rb: a fordító
compile.rb: a fordító javítása (határidő után)
aknakereso.olv: a nagy házi forrása
aknakereso.pl: prolog nagyházi
aknakereso.sml: sml nagyházi
binoms.olv: az egyik kisházi forrása
binoms.pl
t1.olv: egyszerű példaprogram
t1.pl
t1.sml
t2.olv: magasabbrendű függvények példaprogram
t2.pl
t2.sml
t2n.olv: az előbbinél is magasabbrendű függvények
t2n.pl
t2n.sml


Zsbán Ambrus, 2006. december 23.

Kérdéseket és megjegyzéseket az ambrus@@mmaatthh..bbmmee..hhuu email címre várok.