文 (プログラミング)

From Wikipedia, the free encyclopedia

プログラムにおける(ぶん、statement)とは、プログラミング言語によるプログラムを構成するもののひとつで、一般に手続きを表すものである。

詳細はそれぞれのプログラミング言語によって異なるが、本質的な意味や構造は共通している。

文の詳細な構文については、初期のFORTRANCOBOLのように1行に1つの文を書く言語、C言語や多くのスクリプト言語のように文終端記号(セミコロンなど)で表す言語、Pascalのように文と文との間の区切り記号で表す言語などがある。1行1文の言語であっても、行末または行頭に指定された記号を付けることで、行が継続しているものとして(継続行)、複数行にわたって文を記述することができるものもある。

類似する言葉としてがあるが、式はそれ自体が値を持つ点で文とは区別される。多くの手続き型言語では式にも手続きがともない、副作用という。また逆に言語によっては文も値を持つものもある。

大まかに言えば、一つ以上の式や関数呼び出しで作られる、手続き構造の単位が文である、と考えてほぼ差し支えない。if文のように分岐構造を表すもの、代入文のように変数の更新を表すものなどが代表例である。構造化プログラミング以降の言語では一般的に、複数の文からブロックを構成でき、ブロックをあたかも一つの文として扱うことができる。

if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語などに見られる、ブロックと文の両方を書ける以下のような規則のものである。

<if文> = IF <条件式> <文> [ELSE <文>]
<文> = <if文>|<while文>|<代入文>|...etc...|<ブロック>
<ブロック> = { <文> ; <文> ; <文> ; ... }

この規則では、en:Dangling else 問題の存在が知られている。

もうひとつの流儀は、古くはPerl、近年ではGoに見られる、任意の文を直接書くことができないようにしたものである。

<if文> = IF <条件式> <ブロック> [ELSE <ブロック>]

この規則は、dangling else対策のひとつとなっている。

関連項目

Related Articles

Wikiwand AI