[Haskell-ELTE] Stack-biztonsagos assembler
Dr. ERDI Gergo
gergo at erdi.hu
2010. Május. 29., Szo, 12:03:45 CEST
Hello,
Az alabbi cikk alapjan:
http://blog.sigfpe.com/2009/02/beyond-monads.html
keszitettem jatszasibol egy assemblert + compilert, mert meg akartam
baratkozni a nyilakkal (Control.Arrow modul).
Az assemblerben az a plane, hogy a tipusellenorzovel ellenorizteti, hogy
nem rontja-e el az altala generalt kod a stack-szerzodeset, vagyis hogy
pl. a compiler minden reszkifejezest valoban ugy fordit-e, hogy a stack-re
rarakja az eredmenyt.
Magyaran a kovetkezo kod forditasi ideju hibat ad:
foo :: Machine n n
foo = push EAX >>>
pop EAX >>>
pop EAX
mivel nem tartja be azt az igeretet, hogy n meretu stack-bol n meretu
stack-be visz at.
http://gergo.erdi.hu/projects/small/haskell/StackCompiler.hs
--
.--= ULLA! =-----------------. `We are not here to give users what
\ http://gergo.erdi.hu \ they want' -- RMS, at GUADEC 2001
`---= gergo at erdi.hu =-------'
Synthetic scotch - synthetic commander.
More information about the Haskell
mailing list