Руководство по Ada (Ada 2022)
2.3 Идентификаторы
Идентификатор используется в качестве имени.
Синтаксис
identifier_start ::=
letter_uppercase
| letter_lowercase
| letter_titlecase
| letter_modifier
| letter_other
| number_letter
letter_uppercase
| letter_lowercase
| letter_titlecase
| letter_modifier
| letter_other
| number_letter
identifier_extend ::=
mark_non_spacing
| mark_spacing_combining
| number_decimal
| punctuation_connector
mark_non_spacing
| mark_spacing_combining
| number_decimal
| punctuation_connector
Идентификатор не должен содержать два последовательных символа категории punctuation_connector, или заканчиваться символом из этой категории.
Правила допустимости
Идентификатор должен содержать только символы, которые могут присутствовать в нормальной форме KC, как определено в разделе 22 ISO/IEC 10646:2020.
Статическая семантика
Два идентификатора считаются одинаковыми, если они состоят из одной и той же последовательности символов после применения независимого от локали простого преобразования регистра, как определено в документах, на которые ссылается раздел 2 ISO/IEC 10646:2020.
После применения простого преобразования регистра идентификатор не должен совпадать с зарезервированным словом.
Разрешения для реализации
В нестандартном режиме реализация может поддерживать другие правила эквивалентности верхнего и нижнего регистра для идентификаторов, чтобы учитывать местные соглашения.
ПРИМЕЧАНИЕ Идентификаторы, различающиеся только использованием соответствующих прописных и строчных букв, считаются одинаковыми.
Примеры
Примеры идентификаторов:
Count X Get_Symbol Ethelyn Marion
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Платон
Чайковский -- Чайковский
θ φ -- Углы
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Платон
Чайковский -- Чайковский
θ φ -- Углы