Identifiers

Identifier declaration rules in the language correspond to the rules of the Unicode Standard Annex 15 excluding the following: the underline character or "@" can be used as the initial identifier symbol if the identifier matches the keyword.

NOTE. Not more than one "_" or "@" character can be used as initial symbol.

identifier:

identifier-start-character   identifier-part-charactersopt

identifier-start-character:

letter-character

_ (the underscore character U+005F)

identifier-part-characters:

identifier-part-character

identifier-part-characters   identifier-part-character

identifier-part-character:

letter-character

decimal-digit-character

connecting-character

combining-character

formatting-character

letter-character:

A Unicode character of classes Lu, Ll, Lt, Lm, Lo, or Nl

A unicode-escape-sequence representing a character of classes Lu, Ll, Lt, Lm, Lo, or Nl

combining-character:

A Unicode character of classes Mn or Mc

A unicode-escape-sequence representing a character of classes Mn or Mc

decimal-digit-character:

A Unicode character of the class Nd

A unicode-escape-sequence representing a character of the class Nd

connecting-character:  

A Unicode character of the class Pc

A unicode-escape-sequence representing a character of the class Pc

formatting-character:  

A Unicode character of the class Cf

A unicode-escape-sequence representing a character of the class Cf

For information on character classes used in the declaration, see The Unicode Standard, Version 3.0, section 4.5.

Two identifiers are considered to be equal if they are identical after applying the following transformations:

Identifiers starting with two consecutive underscore characters are reserved for use by the language implementation.

See also:

Lexemes