* HLX-001
-(by [[K]], 2021.06.20)

** (0)
-HLXは、[[a21_txt01]]やその続編で作ったHLシリーズ(はりぼて言語)をベースに、[[K]]が望む理想の言語を作るプロジェクトです。

** (1)
-(以下は現時点での予定です)
-[1] HL-9a, HL-16b, HL-22bを統合します(ひとつの実行ファイルにします)。これで以下のようなことができるようになります。
--x86版で普通のインタプリタとJITコンパイラの実行速度の比較が簡単にできます。x86用のアセンブラ出力だけではなく、x64用のアセンブラ出力もできます。
--x64版でも同様のことができます。
--x86でもx64でもない環境でも、普通のインタプリタによる実行はでのできますし、x86やx64のアセンブラ出力もできるので、クロス開発環境としても使えます。
--この3つを統合して、どのくらいの行数になるか、どのくらいのサイズになるか(実行ファイルが)、それも確認してみたいと思っています。
-[2] HL-16bやHL-22bのJITコンパイラでは、簡略化のためにJcc命令がすべてnear-jmpになっていました。しかしHLX-001では、距離が短い場合にはshort-jmpを使うようになり、コードがよりコンパクトになります。
-[3] HLシリーズでは簡略化のためにバッファを固定で確保して、それがあふれてしまったら誤動作するようになっていましたが、HLX-001ではバッファは可変長で、大きなソースコードを扱うときはメモリをたくさん使い、小さい時はメモリを少ししか使わない、そういう処理方法になります。

-対応できる型を増やすとか、構造体をサポートするとか、ローカル変数をサポートするなどの対応は、HLX-002以降でやります。

トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS