This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!
2.2 Identifiers
An identifier may be composed of Unicode alphanumeric characters and the underscore character, and begins with an underscore or an alphabetic character. If an identifier begins with an underscore, it must contain at least one other character to disambiguate from a line continuation.
Regular identifiers may not match keywords, but escaped identifiers can. An escaped identifier is an identifier delimited by square brackets. Escaped identifiers follow the same rules as regular identifiers except that they may match keywords and may not have type characters.
Identifiers are case insensitive. Two identifiers that differ only in their alphabetic casing are considered the same identifier.
- Identifier ::=
- NonEscapedIdentifier [ TypeCharacter ] |
EscapedIdentifier
- NonEscapedIdentifier ::= < IdentifierName but not Keyword >
- EscapedIdentifier ::=
[
IdentifierName ]
- IdentifierName ::= IdentifierStart [ IdentifierCharacter+ ]
- IdentifierStart ::=
- AlphaCharacter |
UnderscoreCharacter IdentifierCharacter
- IdentifierCharacter ::=
- UnderscoreCharacter
AlphaCharacter
NumericCharacter
CombiningCharacter
- AlphaCharacter ::= < Unicode alphabetic character >
- NumericCharacter ::= < Unicode decimal digit character >
- CombiningCharacter ::= < Unicode combining character >
- UnderscoreCharacter ::= < Unicode connection character >
- IdentifierOrKeyword ::= Identifer | Keyword