予約語 概要

予約語

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2023/04/06 15:47 UTC 版)

概要

予約語と似ていてしばしば混同されてしまう言葉に「キーワード」(keyword) があるが、プログラミング言語の種類、また文脈によってreserved wordとkeywordは全く違う意味を持ちうるので、両者は異なる用語・概念と扱われている場合が多い。そのため、一旦は別物である可能性が高いとみなして扱うほうが安全である。

たとえば「予約語」という用語を「処理系で内部的に使う名前と同じであるといった理由で予約されているためにユーザーは使えない識別子」という意味で使っている規格もある[要出典]。この場合予約語はキーワードとは別のものである。

一方、「キーワード」は言語仕様上特別な意味を持った語のことである。キーワードであっても予約語でないこともあるし、その逆もある。たとえばECMAScript (ECMA-262) 5th Edition (ES5) では、classextendsは予約されており予約語だが言語で使われておらずキーワードではない。しかしECMA-262 6th Edition (ES6) では新たにサポートしたクラス構文のために使われるキーワードとなった。ECMA-262 では、キーワードは予約語の部分集合で、言語で制御構造などの意味を持つ予約語がキーワードである。Javaでは言語で使われていないgotoconstもキーワードである[4]SQLには予約されたキーワードと予約されていないキーワードがある。例にも出てきたように、個々の規格によっても両者それぞれ微妙に意味が違うこともある。

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

「予約されたキーワード」(reserved keywords) や「予約されていないキーワード」(unreserved keywords) という用語が使用されている場合もある[5][6]

共通言語基盤 (CLI) 向けの共通言語仕様 (CLS) にしたがって実装されたC#VB.NETでは、キーワードを識別子として利用する構文が用意されている。

  • C#では@classなどのように先頭に@をつけることで識別子として利用することができる[7]
  • VB.NETでは[Class]などのように[...]で囲むことで識別子として利用することができる[8]
  • F#では``class``などのように``...``で囲むことで識別子として利用することができる[9]

上記の機能は、CLSを満たす他の.NET言語で記述されてアセンブリに公開されたシンボルの名前を使う場合などでも有用である。例えばC#ではDimはキーワードではないため、プロパティなどの名前として使用できるが、VB.NETではキーワードであるためそのままでは使えず、相互運用に支障が出る。そこで、シンボル名を使用する際に[Dim]と記述することでVB.NETでも識別子として使えるようになる。


  1. ^ a b 予約語(reserved word)とは - IT用語辞典 e-Words
  2. ^ Collins, reserved words
  3. ^ Reserved word Definition & Meaning | Dictionary.com Dictionary.com, “a word in a programming language or computer system that has a fixed meaning and therefore cannot be redefined by a programmer”
  4. ^ Java Language Keywords (The Java™ Tutorials > Learning the Java Language > Language Basics)
  5. ^ Keywords - Visual Basic | Microsoft Docs
  6. ^ キーワード - Visual Basic | Microsoft Docs
  7. ^ @ - C# リファレンス | Microsoft Docs
  8. ^ 宣言された要素の名前 - Visual Basic | Microsoft Docs
  9. ^ シンボルと演算子のリファレンス - F# | Microsoft Docs
  10. ^ C のキーワード - cppreference.com
  11. ^ 識別子 - cppreference.com (C)
  12. ^ C reserved keywords - IBM Documentation
  13. ^ C++ のキーワード - cppreference.com
  14. ^ 識別子 - cppreference.com (C++)
  15. ^ [1]
  16. ^ Fortran 90, ISO/IEC 1539:1991 - §2.5.2 Keyword
  17. ^ キーワード | Compaq Visual Fortran | XLsoft
  18. ^ 自由形式 | Compaq Visual Fortran | XLsoft
  19. ^ これらはES5時点では予約語だったが、ES6で追加された新機能に使われることになり、キーワードに昇格した。
  20. ^ C++03ではテンプレートのエクスポート機能のために使われていたが、C++11ではその機能が廃止された。のちにC++20ではモジュール機能のために再利用されることになった。
  21. ^ 非推奨だったregisterキーワードを削除 - cpprefjp C++日本語リファレンス
  22. ^ if 文 - cppreference.com
  23. ^ Statements - C# language specification | Microsoft Learn
  24. ^ Fatal Error C1061 | Microsoft Learn
  25. ^ C# Keywords | Microsoft Docs
  26. ^ C keywords - cppreference.com
  27. ^ C++ keywords - cppreference.com
  28. ^ overrideとfinal - cpprefjp C++日本語リファレンス
  29. ^ Context-Sensitive Keywords (C++/CLI and C++/CX) | Microsoft Learn






固有名詞の分類


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

辞書ショートカット

すべての辞書の索引

「予約語」の関連用語

予約語のお隣キーワード
検索ランキング

   

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



予約語のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

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

©2024 GRAS Group, Inc.RSS