実行モデル
操作的意味論は、言語の実行モデルを指定する1つの方法である。実行中のプログラムの動作は、(言語の実行モデルを定義する)操作的意味論から派生した動作と一致する必要がある。
実行モデルは、分割できない作業単位とは何か、それらの作業単位が実行される順序の制約は何かなどをカバーする。たとえば、加算操作は多くの言語で分割できない作業単位であり、順次言語では、このような作業単位は次々に実行されるように制約される。
これを説明するために、書籍プログラミング言語C (K&R)で説明されているCプログラミング言語について考えてみよう 。 Cにはステートメントと呼ばれる概念がある。言語仕様では、ステートメントを「;」で終了する構文のチャンクとして定義している。次に、言語仕様には、「プログラムの実行は、次々にステートメントを順番に進める」と書かれている。 「プログラムの実行は、次々とステートメントを順番に進める」という言葉は、Cの実行モデルの一部である。これらの単語は、ステートメントが分割できない作業単位であり、コード内の構文上の外観と同じ順序で進行することを示す(IFやFORなどの制御ステートメントが順序を変更する場合を除く)。