* [[a21]]に関する雑記#1 -(by [[K]], 2021.01.26) ** 2021.01.25(月) -今日は[[a21_txt01_3]]のTL-3を書きました。我ながらシンプルにわかりやすく書けた気がします。 -ラベル名をうまく使って、分岐先のpc値を高速に求められるようにしたので、結構高速に動いてくれそうな気がします。 -でもなあ、goto命令だからなあ。やっぱり嫌がられてしまうかなあ・・・。 ** 2021.01.26(火) -うーん、この先の拡張を考えると、トークンコードの処理は別の関数に切り出しておくほうがよさそうだなあ・・・。じゃあさかのぼってTL-2から修正するかな。 -TL-4で高速化して、TL-5で「式」を扱えるようにして、TL-6で型を導入したらいいかなあ・・・。 ** 2021.01.27(水) -TL-4での高速化はやっぱりやめます。それはTL-5でやることにします。 -TL-4でやるべきは「REPLの導入」だと思いなおしました。・・・TLシリーズはせっかくのスクリプト言語(インタプリタ)なので、そのメリットを生かさないともったいないです。だからREPLの導入はぜひやるべきだと確信しました! -その後の予定としては、TL-5で少し高速化して、TL-6でもっと高速化して、TL-7でwihleループやブロックifなどを導入して、TL-8かそれ以降でグラフィック命令を導入します。 -そのあたりまでできたら、次はTJシリーズに移行して、JITコンパイラかな・・・。 ~ -TL-4ができました。REPLできるのはすごく楽しいです。これがたった7.5KBのアプリで実現できるなんて! →[[a21_txt01]] ** 2021.01.28(木) -TLシリーズでどこまでやるかで少し悩んでいます。たぶんやりすぎないほうがいいんです。道半ばにしておいて、「自分だったらこうするのに」をいくつか残しておくほうが、その後の開発にチャレンジする人が増えると思うのです。 -ということで型も浮動小数点演算も配列も構造体も関数もローカル変数も全部見送ろうかなと思っているのですが、どうかなあ。 -具体的な改造コードを提示しないまでも、こうすればできそうだよね?くらいの話は書くかなあ。 * こめんと欄 #comment