标识符
源 identifiers Commit: e942743f739a191abca1b0bf8b6497f2195cbbf8
Lexer:
IDENTIFIER_OR_KEYWORD :
[a
-z
A
-Z
] [a
-z
A
-Z
0
-9
_
]*
|_
[a
-z
A
-Z
0
-9
_
]+RAW_IDENTIFIER :
r#
IDENTIFIER_OR_KEYWORD Exceptcrate
,extern
,self
,super
,Self
NON_KEYWORD_IDENTIFIER : IDENTIFIER_OR_KEYWORD Except a strict or reserved keyword
IDENTIFIER :
NON_KEYWORD_IDENTIFIER | RAW_IDENTIFIER
标识符是以下形式的任何非空ASCII字符串:
要么
- 第一个字符是一个字母。
- 其余字符是字母数字或_。
或者
- 第一个字符是_。
- 标识符不止一个字符。 单独
_
不是标识符。 - 其余字符是字母数字或_。
原始标识符类似于普通标识符,但以r#
为前缀。(请注意,r#
前缀不包含在实际标识符的一部分中。)与普通标识符不同,原始标识符可以是除上面列出的RAW_IDENTIFIER
之外的任何严格或保留关键字。