【お知らせ】プログラミング記事の投稿はQiitaに移行しました。

2008-03-01から1ヶ月間の記事一覧

仮想関数とJIT

仮想関数を実装しました。 LLPML/v0 (0.14-20080329) 無名関数で実現していたものを言語仕様に盛り込んで、内部で同等のコードに展開すれば簡単にできるかと思ったのですが、内部構造に柔軟性がなかったため予想以上に手間取りました。

無名関数

無名関数を実装しました。 LLPML/v0 (0.13-20080327) 当初は難易度が高いので後回しにしようと思っていたのですが、関数定義に関数ポインタの値を持たせれば式の中で扱えることに気付きました。そのためすぐに実装できました。

プロパティ

プロパティをサポートしました。 LLPML/v0 (0.12-20080325) プロパティの定義には特別な構文を導入せずに、get_XXX()/set_XXX() という関数を定義します。呼び出し側のパースではメンバが見付からないときに関数に読み替えています。手軽に実装できて便利な…

アルファブレンド

MMXとSSE2を一部サポートしました。 LLPML/v0 (0.11-20080323) LLPMLには最適化機能がありません。アルファブレンドのコードを少し工夫するだけで動作速度が目に見えて変わりました。更にMMXやSSE2をサポートしたところ、MMXで3倍、SSE2で4.5倍程度の速度向…

整数型

整数型のbyteとshortをサポートしました。 LLPML/v0 (0.11-20080306)