RustでCASL2シミュレーター^3
さらにデバッガーも作ってみた。機能としては,,,
- ブレークポイント設定
- 1行実行(step in/step over)
- 次のブレークポイント( or プログラム終了)まで実行
- レジスタの内容表示
- 指定範囲のメモリダンプ
- スタックエリアのダンプ
- 指定範囲のソース表示
などができるようにした。このくらいないと、情報処理試験問題の動きを追うのが大変。といっても、受験するわけではないが。
ソースは全部で3.1KS。exeファイルは1.3MB。ここまで作ってやっと、借用やらスライスの意味が分かってきたような、わからないような。小さいプログラムをたくさん書くのもいいけど、それだけでは見えないこともたくさんあるね。