compiler

私、foldの名に恥じない立派な関数になるから!!

昨日のは、ただ単に定数を計算してるだけで、foldと名乗っていいものかどうかアレだったので、定数畳み込みについて考える。 とりあえず、javacが糞だと言うためだけに、以下のコードをコンパイルする。 class Fold { public static int f( int x ) { return…

dup

おとといのコメントより、 0:load x 2:load y 4:mul 5:dup 6:add 7:store a 9:で、いいのでは、との意見を。 えーと、すいません…その通りです。 で、あれの続きの話は、まさに、そういう「どーやってdupするのが効率がいいか」っていう話にしようと思ってた…

スタックマシンと最適化

さて、いつまでもコンパイラやらインタプリタやら書き捨てばっかりなのもつまらんな、と思って、a24zでは最適化でもかじってみようかと思ったのだ。が、そろそろ集中力が切れてきたのでやらないかもしれない。 で、実装するかしないかはまあいいとして、そこ…

Compiler Infrastructure

http://www.hyuki.com/tf/20041215234202.html C--っていうのがあるらしいので、ちょっと調べてみた。(いや、しかし、名前がアレだな、扱いにくい。) よーするに、アセンブリ一歩手前ぎりぎりみたいな言語を吐いてやれば、それを最適化して機械語にしてく…