● StrCalc BASIC の実装

5.BASIC プログラムが処理される手順

関数StrCalc_BASIC が呼び出されると、次のような順序で処理されます。




なお、実行に必要な情報は全て中間コードに与えられ、実行は中間コードだけに対して行われるため、BASIC 実行中に何らかの形でソースコードを変更しても、動作には影響しません。


ユーザステートメント

ユーザステートメントは、呼び出されたステートメントの種類がソースコード翻訳時に特定され、ステートメント名の後ろに続く文字列が BASIC プログラム実行時に処理されます(後ろの文字列は、中間コード実行時にコールバック関数の引数として渡されます。「コールバック関数USFUNC」参照の事)。

         翻訳時に処理
            ↓
    @ステートメント名    文字列
                           ↑
                        実行時に処理(呼び出される度に処理)

ステートメント名の部分はソースコード翻訳の段階で処理されてしまうので、実際の処理のパフォーマンスには影響しません。
コールバック関数で行う文字列の解読・分析処理はパフォーマンスに影響しますが、相当複雑な構文にしない限り無視できる程度の損失です。