前に↓を書いた
現状、手書きのパーサはエラー回復機能はほとんどできないけど、言語が持っているほとんどの文法をパースすることができるようになった。
その後、↑に書いたVMの「少ない引数の関数呼び出しの最適化」を行なった。
この後は
VMの高速化
パーサーのエラー回復
コンパイラーのエラー改善
を進めていきたい。エラー周りは頑張るとして、VMの高速化には↑に書いた記事のことを実装していきたい。
あ、そうだ。これも書いておこう。高速化の準備としてベンチマークを取れるようにした。カラフルな結果が出るとなんか楽しい。
で、VMの最適化の話だけど、多分最初にやるのは「VMの1命令のサイズを小さくする」にしようと思う。
これ、予想ではそこそこ大きな変更になると思ってる。まだ内部的に非常に単純なうちにこうゆうことをやっとかないと、他の改善を行った後だと面倒になそうだと思う。
1命令のサイズを減らせれば多分、mandelbrotのベンチマークでPython3.12と並ぶ速度になると思う。(もしかしたら超えてくれるかも?とか思ったりしてる)