2010-10-01から1ヶ月間の記事一覧

JITアセンブラを作った

とはいってもx86の機械語を生成するのではなく、VMのバイトコードを生成するやつを作りました。x86のJITアセンブラは次の世代で作る予定です。 このJITアセンブラは現在実装中のインタプリタに内蔵するJITコンパイラで用います。 以下はフィボナッチを計算す…

演算子順位法によるパーサ

リンカが問題なく動くようになったので、ようやく次の処理系(rowl1)作りを開始しました。 レキサはこれまでと同じく状態遷移図を手で作成しました。rowl2の開発時にはレキサの自動生成が出来るくらい、言語が高級になっていると良いなぁと思っています。現在…

ブートストラッピングの中で起きた問題と解決策

一か月ほど本業に専念していましたが、Rowlの開発を再開しました。 結構忘れているところがあるので、これまでの経過をまとめます。これまで実装したものの一覧は下図。 問題1: 機能不足 アセンブリ言語で実装したrowl0は機能が貧弱すぎて、次のステップで一…