FOR~NEXTを除いて完成

FOR~NEXTはやっぱり難関。断片的な処理のしかたは思いつくものの全体の流れにつながらない。勢いだけでは完成しない。ということで、とりあえずINPUTを作る。INPUTもそれなりに大物だが、すでにある関数を組み合わせて何とかなった。おかげで数式を入力できる仕様が実現した。数値だけ受け付けるより、数式を受け付けるほうがすでにある関数を利用できるから短い記述ですむ。これでFOR~NEXTを残して完成ということになる。現状でも変数とIFとGOTOでFOR~NEXTと同じ動作ができる。これがFOR~NEXTの完成に結び付くかもしれない。

見通しをよくしてFOR~NEXTに集中するため、デバッグ用の関数を外して動作確認。ときどきヘンな動作をすると思ったら少なめに設定しておいたリストの保存領域がオーバーフローしている。あらためて中間コード方式がさほど効率的でないことを思い知る。最悪なのがキーワードのミスタイプ。たとえばRETURNをRETERNとタイプすると1文字ずつ変数の中間コードとなり、本来はリストの1バイトですむところを12バイトも使ってしまう。この問題は、連続する変数をエラーにしてはじけば解決するが、個別の問題にひとつひとつ対策をとっていたらキリがないし美しくない。何かうまい解決方法がないものだろうか。

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

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中