Справочник Ada 2005
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
| other_format
mark_non_spacing
| mark_spacing_combining
| number_decimal
| punctuation_connector
| other_format
После удаления символов категории other_format, идентификатор не должен содержать два последовательных символа категории punctuation_connector, или заканчиваться символом из этой категории.
Статические семантика
Два идентификатора считаются одинаковыми, если они состоят из одной и той же последовательности символов после применения следующих преобразований (в указанном порядке):
- Символы категории other_format удаляются.
- Полученная последовательность символов преобразуется в верхний регистр.
После применения этих преобразований, идентификатор не должен совпадать с зарезервированным словом (в верхнем регистре).
Разрешения на реализацию
В нестандартном режиме реализация может поддерживать другие правила эквивалентности верхнего и нижнего регистра для идентификаторов, чтобы адаптироваться к местным соглашениям.
ПРИМЕЧАНИЯ
3 Идентификаторы, отличающиеся только использованием соответствующих заглавных и строчных букв, считаются одинаковыми.
Примеры
Примеры идентификаторов:
Count X Get_Symbol Ethelyn Marion
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Платон
Чайковский -- Чайковский
θ φ -- Углы
Snobol_4 X1 Page_Count Store_Next_Item
Πλάτων -- Платон
Чайковский -- Чайковский
θ φ -- Углы