予約語 【reserved word】 予約済みキーワード
概要
予約語(reserved word)とは、プログラミング言語などの人工言語の仕様に定められている、開発者が付ける識別名として利用できない文字列のこと。予約語に挙げられた単語やフレーズは変数名や関数名などに使用することはできない。例えば、「for」が繰り返し処理を表す制御構文の名前であるような言語で、開発者が「for」という名前の変数を定義してしまうと、コード中の「for」が制御文なのか変数なのか分からなくなってしまう。
このように、言語側であらかじめ特定の意味が与えられている文字の並びについては、コード中で開発者が名付ける変数などの識別名としては利用できないようになっている。これを予約語と呼び、「“for” は予約されている」といったように表現する。
どのような文字列が予約語かは言語仕様によって定義されており言語によって異なるが、言語に直接組み込まれている制御構文(if、else、for、while、begin、end、returnなど)や宣言文(const、function、varなど)、組み込みデータ型(int、float、stringなど)、組み込み関数(print、openなど)、特殊なリテラル(true、false、undefined、nullなど)などの名前が指定されていることが多い。
すべての予約語に何らかの意味や機能が付与されているとは限らず、過去に機能が存在したが廃止され予約語だけが残っている場合や、将来の仕様改訂に備え、まさに「予約」してあるだけの予約語もある。Javaの “goto” のように過去も将来も言語上の機能はないが、過去のプログラミング言語のgoto文相当の機能はJavaには存在しないため、混乱を招かないよう予約してあるという例もある。
(2018.8.27更新)