非専門的シンギュラリティー研究所

無限に動き続けるシステムを表す方法を AI なども使って考えていきます。

80sBASIC(1)

関数電卓コマンド版(7) - 非専門的シンギュラリティー研究所」で Windows のデスクトップアプリケーションにコンソール風の入出力とグラフィックス機能を追加して「関数のグラフ」と同様の機能にしようとしたのですが C# から C++ への変換が失敗したと思われ、まだできていません。

アセンブラ(11) - 非専門的シンギュラリティー研究所」ではアセンブリ言語インタープリターを「Windows のデスクトップアプリケーションに
コンソール風の入出力とグラフィックス機能を追加したシステム」上で動かそうとしていました。

これはいったん保留してまず「プログラム電卓」をこのシステム上で動かしてみることにします。これは

  • このシステムにソースコードを入力する領域を追加したい
  • コマンド入力の形式で動いているものをまずこのシステムで動かしてみたい(「プログラム電卓」は BASIC として動作しているかどうかはわからないが部分的には動作している)
  • C# から C++ 変換では単純な方法で変換するようにしたい( 「関数のグラフ」を C# から C++ に変換したときポインターのラッパークラスを作ったため変換が失敗した原因がわかりにくい)

という理由です。

「プログラム電卓」は

  • MZ-80K・MZ-80C の BASIC のサブセットに
  • N88-BASIC のグラフィックス機能の一部と
  • Small Basic のタートルグラフィックス機能を追加したものです。

これを BASIC インタープリターとして使えるようにします。

C# から C++ への変換はだいたいできました。ChatGPT で調べたのと Visual Studio で自動的に補完してくれるのでだいぶ楽ですが、残念ながら簡単にできるというほどではありません。これが簡単にできるようになるとこの記事の意味がなくなりますが、そういうときも来るかもしれません。