Contents Index Search Related Documents Previous Next
2.3 Identifiers
1
Identifiers
are used as names.
Syntax
2/2
identifier
::=
identifier_start {
identifier_start |
identifier_extend}
3/2
identifier_start
::=
letter_uppercase
|
letter_lowercase
|
letter_titlecase
|
letter_modifier
|
letter_other
|
number_letter
3.1/2
identifier_extend
::=
mark_non_spacing
|
mark_spacing_combining
|
number_decimal_digit
|
punctuation_connector
|
other_format
4/2
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
5/2
Two identifiers
are considered the same if they consist of the same sequence of characters
after applying the following transformations (in this order):
5.1/2
- The characters in category other_format
are eliminated.
5.2/2
- The remaining sequence of characters
is converted to upper case.
5.3/2
After applying these transformations, an identifier
shall not be identical to a reserved word (in upper case).
Implementation Permissions
6
In a nonstandard mode, an implementation may support
other upper/lower case equivalence rules for identifiers,
to accommodate local conventions.
6.1/2
3 Identifiers
differing only in the use of corresponding upper and lower case letters
are considered the same.
Examples
7
Examples of identifiers:
8/2
Count X Get_Symbol Ethelyn Marion
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Plato
Чайковский -- Tchaikovsky
θ φ -- Angles
Contents Index Search Related Documents Previous Next Legal