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
An
identifier
shall not contain two consecutive characters in category
punctuation_connector,
or end with a character in that category.
Legality Rules
An identifier shall only contain characters that
may be present in Normalization Form KC as defined by Clause 22 of ISO/IEC
10646:2020.
Static Semantics
Two
identifiers
are considered the same if they consist of the same sequence of characters
after applying locale-independent simple case folding, as defined by
documents referenced in Clause 2 of ISO/IEC 10646:2020.
After applying simple case folding, an
identifier
shall not be identical to a reserved word.
Implementation Permissions
In a nonstandard mode, an implementation may support
other upper/lower case equivalence rules for
identifiers,
to accommodate local conventions.
NOTE
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
Ada 2005 and 2012 Editions sponsored in part by Ada-Europe