【发布时间】:2020-10-29 16:05:22
【问题描述】:
我基本上需要所有特定于语言的标记、javascript 符号。基本上,所有的关键字,所有的标识符,所有的标点符号,所有的逻辑操作符号等等。
我在哪里可以找到它?
【问题讨论】:
标签: javascript token lexer lexical-analysis
我基本上需要所有特定于语言的标记、javascript 符号。基本上,所有的关键字,所有的标识符,所有的标点符号,所有的逻辑操作符号等等。
我在哪里可以找到它?
【问题讨论】:
标签: javascript token lexer lexical-analysis
ECMAScript(又名 JavaScript)的完整词法规范可以在 Section 11 (Lexical Grammar) of ECMA 262 中找到。 (ECMA-262 的新版本大约每年发布一次,但该链接中的 URL——自 ECMAScript 2020 起正确——应该可以继续工作,或者很容易修复。我没有转录保留字列表,半- 保留词、运算符和其他标点符号,因为这些列表在未来的标准中可能会发生变化。)
然而,准确地指出哪些IdentifierNames 具有特定含义并不简单。你需要仔细阅读subsection 11.6 (Names and Keywords),它可能仍然会有点混乱。困难在于 ECMAScript 的每个后续版本都非常努力地与以前的版本保持兼容,因此很难引入新的关键字。如此多的重要符号不在保留字列表中。一些,如await 仅在某些情况下保留;许多其他(例如let)仅在严格模式下保留;还有一些(例如async)总是可以用作标识符,但可以在标识符可能是语法错误的某些上下文中在语法上使用。第 11.6.2 节中有各种符号列表,您可以根据需要组合或从中选择。
运算符符号(除了单词运算符)更简单一些(尽管仍有一些奇怪之处,因此仍然需要阅读细则)。请参阅第 11.7 节中的各种列表。
【讨论】: