[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