文 (プログラミング)
類似する言葉として式がある。式は、必ずしも手続きを表さず、文とは異なり値を持つ(多くの手続き型言語では式にも手続きがともない、副作用という。特にC言語は代入が式である。また逆に言語によっては文も値を持つものもある)。
大まかに言えば、一つ以上の式や関数呼び出しで作られる、手続き構造の単位が文である、と考えてほぼ差し支えない。if文のように分岐構造を表すもの、代入文のように変数の更新を表すものなどが代表例である。構造化プログラミング以降の言語では、複数の文からブロック(「複文」とも言う)を構成できるのが一般的である。
if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語のような、
という規則のもので(というような文法だと多くのプログラマが信じているようだが、実際には全く違っている(前述。あるいは規格票を参照))、dangling else問題(通常は困るものではない。en:Dangling elseも参照)の存在が知られている。
もうひとつの流儀は、古くはPerl、近年ではGoがこのようになっているが、
のように、任意の文を直接書くことができないようにしたものである。dangling else対策のひとつでもある。