式(コンピュータサイエンス)

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

コンピュータサイエンス発現がある構文内のエンティティのプログラミング言語はその値を決定するために評価されてもよいです。[1]これは、1つの以上の組み合わせである定数変数関数、および演算子のプログラミング言語の解釈(その特定に応じて、その優先順位のルールとの関連において、(「戻るために」生成する)と計算するステートフル環境)別の値。このプロセスは、数式の場合評価と呼ばれます。

単純な設定では、結果の値は通常、数値、文字列ブール値複素数データ型、その他の型など、さまざまなプリミティブ型の1つです

式は、ステートメント(値(命令)を持たない構文エンティティ)と対比されることがよくあります。

たとえば、2 + 3は算術式とプログラミング式の両方であり、に評価され5ます。変数はメモリ内の値を表すため式y + 6であり、式でもあります。関係式の例4 ≠ 4、であり、はに評価されfalseます。[2] [3]

結果タイプとしての

ではCと最もC派生言語と関数の呼び出しのボイド戻り値の型はvoid型の有効な式です。[4] void型の値は使用できないため、このような式の値は常に破棄されます。

副作用と除去

多くのプログラミング言語では、関数、つまり関数を含む式には副作用があります。副作用のある式には、通常、参照透過性の特性はありません多くの言語(C ++など)では、式をセミコロン(;)で終了して、式を式ステートメントに変換できますこれは、副作用を誘発する式ステートメントの一部でない限り(たとえば、「y =」)、その副作用についてのみ式を評価し、式の結果(たとえば、「x + 1;」)を無視するように実装に要求します。 x + 1; "または" func1(func2()); ")。

警告

副作用の正式な概念は、実行中のプログラムの抽象的な状態への変更であることに注意してください。

別の種類の副作用は、データをキャッシュメモリにロードするなど、計算システムの具体的な状態の変化です。「副作用なし」とよく言われる言語には、一般に、たとえばサイドチャネル攻撃で悪用される可能性のある具体的な副作用があります

さらに、式を評価する経過時間(他に明らかな副作用がない場合でも)は、システムの他の部分によって評価環境の外部から時間の動作が簡単に見えるため、システムの正しい動作に不可欠な場合があります。それは相互作用し、ベンチマークテストを実行するときなど主要な効果と見なされることさえあります

式が評価される処理環境によって、抽象的な副作用のない式を実行パスから合法的に排除できるかどうかは、特定のプログラミング言語の仕様によって異なります。

も参照してください

参考文献

  1. ^ ミッチェル、J.(2002)。プログラミング言語の概念。ケンブリッジ:ケンブリッジ大学出版局、 3.4.1ステートメントと表現、p。26
  2. ^ Javascript式、Mozillaアクセス2009年7月6日
  3. ^ 2009年7月6日にアクセスされたウェイバックマシンでのC アーカイブ2015-01-09でのプログラミング
  4. ^ ISO / IEC 9899:1999セクション6.3.2.2、2009年8月31日アクセス

外部リンク