language-agnostic - "keyword"和 "reserved word"和有什么区别?

标签 language-agnostic programming-languages syntax keyword reserved-words

关键字保留字有什么区别?

例如,在proposal for concepts in C++中人们可以阅读以下声明:

This proposal introduces five new keywords: concept, concept map, where, axiom, and late check. All of these keywords will also be reserved words.

最佳答案

关键字在语言中具有特殊含义,并且是语法的一部分。

保留字是不能用作标识符的字(变量、函数等),因为它们是语言保留的。

实际上,大多数关键字都是保留字,反之亦然。但是因为它们是两个不同的东西,所以可能会出现关键字不是保留字(例如,关键字仅在特殊上下文中有意义,因此可以用作标识符),或者保留字不是关键字(例如,因为它被保留以供将来使用)。

更新:其他人给出的一些示例说明了区别:

  • 在 Java 中,goto 是保留字,但不是关键字(因此,您根本无法使用它)
  • Fortran 没有保留字,所有关键字(if、then 等)都可以用作标识符

关于language-agnostic - "keyword"和 "reserved word"和有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1078908/

相关文章:

language-agnostic - 查找文件中出现次数最多的唯一词的软件

language-agnostic - 贫血域模型 : Pros/Cons

language-agnostic - OO设计在语义或封装方面的优势?

java - 为新的 JVM 语言重用 Java 编译器后端的有效方法

parsing - 我对编程语言感兴趣。哪些编程领域对我有好处?

ruby - 我怎样才能将双重 splat 参数折叠成空?

php - setter/getter 中重复开关的设计模式?

php - 嵌套 else if 语法

c - 两个 C 语法花絮 : no init for and char *w[4] vs char w[4]

types - 变体还是多态变体?