Order-of-Evaluation-in-stmts
スクリプトが実行される場合、スクリプトは解釈・実行されるためLabTalkのインタプリタに送られ、以下のような手続きで評価されます。
各ステートメントは、 代入文、マクロ文、コマンド文、算術文、関数文の順序で文型が確定されます。 インタプリタは最初に明示されている(括弧や引用符中に隠されていない)代入演算子を検索します。 それが見つからないと、次に最初の語がマクロ名かどうかを調べます。 その次にそれがコマンド名かどうかを調べます。 次にインタプリタは算術演算子を検索し算術文かどうかをチェックし、最後にその文が関数文かどうかを調べます。
ステートメント解釈の優先順序が、スクリプトの実行に大きく影響することもあります。 例えば、次の代入文について考えてみましょう。
type = 1;
この代入文は、変数typeに1を割り当てます。 ステートメント解釈の順序に従い、代入はコマンドの前に行われるので、typeがLabTalkのコマンドであるにも関わらず、代入操作が行なわれます。 しかし、次のステートメントでは、コマンド文が算術表現より先に評価されるので、コマンドtypeが実行されます。
type + 1;
つまり、この2番目の例では、文字列「+1」が出力されます。