Identifiers
Lexer:
IDENTIFIER :
XID_start XID_continue*
|_
XID_continue+
An identifier is any nonempty Unicode1 string of the following form:
Either
- The first character has property
XID_start
- The remaining characters have property
XID_continue
Or
- The first character is
_
- The identifier is more than one character,
_
alone is not an identifier - The remaining characters have property
XID_continue
that does not occur in the set of keywords.
Note:
XID_start
andXID_continue
as character properties cover the character ranges used to form the more familiar C and Java language-family identifiers.
1
Non-ASCII characters in identifiers are currently feature gated. This is expected to improve soon.