2.3 Identifiers
Syntax
identifier_start ::=
letter_uppercase
|
letter_lowercase
|
letter_titlecase
|
letter_modifier
|
letter_other
|
number_letter
identifier_extend ::=
mark_non_spacing
|
mark_spacing_combining
|
number_decimal
|
punctuation_connector
|
other_format
After eliminating the characters in category
other_format,
an
identifier
shall not contain two consecutive characters in category punctuation_connector,
or end with a character in that category.
Static Semantics
Two
identifiers
are considered the same if they consist of the same sequence of characters
after applying the following transformations (in this order):
The characters in category other_format
are eliminated.
The remaining sequence of characters is converted
to upper case.
After applying these transformations, an
identifier
shall not be identical to a reserved word (in upper case).
Implementation Permissions
In a nonstandard mode, an implementation may support
other upper/lower case equivalence rules for
identifiers,
to accommodate local conventions.
3
Identifiers
differing only in the use of corresponding upper and lower case letters
are considered the same.
Examples
Examples of identifiers:
Count X Get_Symbol Ethelyn Marion
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Plato
Чайковский -- Tchaikovsky
θ φ -- Angles