NGWS SDK Documentation  

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