FOR~NEXTの課題

FOR~NEXTの課題を整理した。課題が整理できただけで前進といえるほどこいつは手ごわい。プログラムの意図を読み取ることはすでに完成している関数の組み合わせでどうにかなると思う。分岐や復帰もGOSUB~RETURNと似たような記述でいける。問題はFOR~NEXTのループからGOTOやGOSUBで抜けたり、外から飛び込んだりしたときの処理。文法にしたがった分岐までは作れても文法に違反した記述をうまく止められるかどうかがわからない。

とりわけFORのあとにGOSUBがあってRETURNしないままどこかへいくとNEXTがスタックから間違った分岐先を復帰してしまう。実はこれをうまく解決する腹案があるにはある。FOR~NEXTとGOSUB~RETURNでスタックを区別すればいい。RAMの使いかたに多少の無駄がでて、当面の問題が解決する。RAMを無駄にしてもいいと思えるくらいの利点が見付からない限り採用にはいたらない。

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

コメントを残す

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

WordPress.com ロゴ

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

Twitter 画像

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

Facebook の写真

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

Google+ フォト

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

%s と連携中