Ada Reference Manual (Ada 2022)Legal Information
Contents   Index   References   Search   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/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

Contents   Index   References   Search   Previous   Next 
Ada-Europe Ada 2005 and 2012 Editions sponsored in part by Ada-Europe