Ada Reference Manual (Ada 2022) — Legal Information

# 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/3
identifier_extend ::=
mark_non_spacing
| mark_spacing_combining
| number_decimal
| punctuation_connector
4/3
An identifier shall not contain two consecutive characters in category punctuation_connector, or end with a character in that category.

#### Legality Rules

4.1/5
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

5/5
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.
5.3/3
After applying simple case folding, an identifier shall not be identical to a reserved word.

#### 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
NOTE 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

Ada 2005 and 2012 Editions sponsored in part by Ada-Europe