構文定義の話です。今回はステートメント、……に入る前段階です。

ここではステートメントと呼ぶことにしましたが、その前に文としようかと迷いました。しかし、BASICの命令はステートメント、コマンド、関数に分けられるというような言葉が頭から離れられず、ステートメントとしました。

私はABのステートメントが次の3つに分類できると思っています(名称は今考えた便宜上のものです)。

  • 通常ステートメント
  • 制御ステートメント
  • 定義ステートメント

通常は、DimやPrint、Let、Gotoのように1行(1ステートメント)で完結するステートメントです。

制御は、複数行に渡るステートメントで、内部に他のステートメントを保持しています。複数行IfやFor、Withなどが該当します。今更ですが、Withは制御ではないですね。

定義は、FunctionやClassなどのように、複数行に渡り、しかもプログラムは上から下へ順に実行されるという考えからすれば、その場で実行の対象とならないという点でほかとは異質のステートメントです。関数は呼ばれなければ実行されませんし、クラスはインスタンスが生成されてなんぼです。

それを踏まえ、今日は前準備第一弾です。

ステートメント
単一行ステートメント ‘:’ ステートメント
通常ステートメント
制御ステートメント
定義ステートメント

ステートメントの1つ目は1(論理)行内にコロンで区切って複数のステートメントを詰め込む「マルチステートメント」を表しています。マルチステートメントをステートメントの一形態としてよいか迷いましたが、このように入れることとしました。不都合が起きないよう祈るばかりです(不都合が起こったら書き換えるだけですけど)。

後は上で紹介したとおりです。便宜上、一旦ここで分類別に分けることとしました。


スポンサード リンク

この記事のカテゴリ