予約語

出典: フリー百科事典『ウィキペディア(Wikipedia)』
移動先: 案内検索

予約語(よやくご、テンプレート:Lang-en-short)とは、プログラミング言語において字句的には識別子(変数名、関数名、クラス名など)としてのルールを満たしているにもかかわらず、識別子にならない字句要素

似ている言葉としてキーワードがある。多くのプログラミング言語において予約語とキーワードはほぼ同じものを指すため、しばしば混同されるが両者は異なる概念である。キーワードは言語仕様上特別な意味を持った語のことである。キーワードであっても予約語でないこともあるし、その逆もある。たとえば ECMAScript[1]では、class は予約されており予約語だが言語で使われておらずキーワードではない(ECMA-262 では、キーワードは予約語の部分集合で、言語で制御構造などの意味を持つ予約語がキーワードである。Java では使っていなくてもキーワードであり、goto もキーワードである)。SQLには予約されたキーワードと予約されていないキーワードがある。例にも出てきたように、個々の規格によっても両者それぞれ微妙に意味が違うこともある。

予約されているのでユーザーは使えない識別子(つまり、使えないだけで、識別子ではある)という意味で(たとえば、処理系で内部的に使う名前と同じであるとか)「予約語」という語を使っている規格もある。この場合キーワードと予約語は別のものである。

FORTRANPL/I のように予約語を持たないプログラミング言語も存在する。

予約語となりうる単語

  • 流れ制御を表す単語(ifwhile など)
  • プログラムの構成要素を表す単語(functionconst など)
  • 組み込み関数(openreadなど)

主な言語の予約語やキーワード

  1. ECMA-262 5th Edition
  2. Pascal では綴り記号と言う。『PASCAL 原書第4版』(培風館、1981)では word symbol の訳として「綴り記号」という語を使っている。また、「綴り記号(すなわち予約語)」という記述がある(p. 12)