文 (プログラミング)とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 文 (プログラミング)の意味・解説 

文 (プログラミング)

(Statement (computer science) から転送)

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/01/18 03:38 UTC 版)

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

文の種類(意味)は、だいたいの類似はあるが、詳細はそれぞれのプログラミング言語によって異なる。

文の構文もそれぞれのプログラミング言語によって異なる。初期のFORTRANCOBOLのように1行に1つの文を書く言語、C言語や多くのスクリプト言語のように文終端記号(セミコロンなど)で終端する言語、Pascalのように文と文との間の区切り記号で区切る言語などがある(終端記号と区切り記号の違いは、並びの最後のあとに記号が入るか入らないかである(厳密にはここで論じているのは文ではなく複文の構文である。またC言語についての説明は間違っており、例えばif文それ自体などにはセミコロンは現れない(セミコロンのみの「空文」、「do-while文」、そして式の後にセミコロンを付けた「式文」、などがC言語において「セミコロンが最後に付いている文」である。宣言などの後にもセミコロンが付く(が、C言語では宣言は文とは違う「宣言というもの」である)))。

1行1文の言語にあっては、行末または行頭に、言語で指定された記号を付けることで、行が継続しているものとして(継続行)、複数行にわたって文を記述することができるものもある。

類似する言葉としてがある。式は、必ずしも手続きを表さず、文とは異なり値を持つ(多くの手続き型言語では式にも手続きがともない、副作用という。特にC言語は代入が式である。また逆に言語によっては文も値を持つものもある)。

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

if文などにおける構文の流儀には大きく2通りがあり、ひとつはC言語のような、

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

という規則のもので(というような文法だと多くのプログラマが信じているようだが、実際には全く違っている(前述。あるいは規格票を参照))、dangling else問題(通常は困るものではない。en:Dangling elseも参照)の存在が知られている。

もうひとつの流儀は、古くはPerl、近年ではGoがこのようになっているが、

<if文> = IF <条件式> <複文> [ELSE <複文>]

のように、任意の文を直接書くことができないようにしたものである。dangling else対策のひとつでもある。

注釈

関連項目



このページでは「ウィキペディア」から文 (プログラミング)を検索した結果を表示しています。
Weblioに収録されているすべての辞書から文 (プログラミング)を検索する場合は、下記のリンクをクリックしてください。
 全ての辞書から文 (プログラミング) を検索

英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「文 (プログラミング)」の関連用語

文 (プログラミング)のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



文 (プログラミング)のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの文 (プログラミング) (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2025 GRAS Group, Inc.RSS