消えたバグを発見

いつの間にかなくなってしまったバグをついに再現。ひとつはRETURNが行ポインタを正しく取得できなかったとき(GOSUBを実行していないとか)、エラー表示が存在しない行を表示しようとして暴走する。エラー表示がエラーを起こしてはシャレにならない。行ポインタの取得に成功したことを確認してから更新するということで解決。もうひとつ、配列の添え字が範囲内にあるかどうかチェックしていない。チェックするということで解決。気が付くとあちこちエラーのチェックだらけであまり美しくない。エラーメッセージだけでもずいぶん大きなスペースを占めていてもったいない感じがする。

BASICはもともとが教育用の言語だからなるべく親切なメッセージを表示してやろうと思う一方、エラーの原因がわかっているのに復旧せずにただ止めればいいのかという葛藤がある。たとえば、マルチステートメントの区切り文字「;」は、書き忘れていたとしても何ら問題なく実行できるのにわざわざエラー処理を構成して間違いですよと指摘するのは揚げ足とりではなかろうか。何てことを考える余裕が出てきた。

広告
カテゴリー: TinyBASIC パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中