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.
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 email címre várok.