Справочник по Ada 2005
Приложение P
(для справок)
Резюме синтаксиса
Это приложение содержит резюме полного синтаксиса языка. См. 1.1.4 для описания используемой нотации.
2.3:
начало_идентификатора ::=
заглавная_буква
| строчная_буква
| буква_прописная
| модификатор_буквы
| другая_буква
| цифра_буква
начало_идентификатора ::=
заглавная_буква
| строчная_буква
| буква_прописная
| модификатор_буквы
| другая_буква
| цифра_буква
2.3:
расширение_идентификатора ::=
знак_без_пробелов
| знак_со_соединением_пробелов
| десятичная_цифра
| знак_соединения
| другой_формат
расширение_идентификатора ::=
знак_без_пробелов
| знак_со_соединением_пробелов
| десятичная_цифра
| знак_соединения
| другой_формат
2.4.2:
литерал_определённой_системы_счисления ::=
основание # цифра_определённой_системы_счисления [.цифра_определённой_системы_счисления] # [экспонента]
литерал_определённой_системы_счисления ::=
основание # цифра_определённой_системы_счисления [.цифра_определённой_системы_счисления] # [экспонента]
2.4.2:
цифра_определённой_системы_счисления ::=
расширенная_цифра {[подчеркивание] расширенная_цифра}
цифра_определённой_системы_счисления ::=
расширенная_цифра {[подчеркивание] расширенная_цифра}
2.8:
псевдоним ::=
псевдоним идентификатор [(связывание_аргумента_псевдонима {, связывание_аргумента_псевдонима})];
псевдоним ::=
псевдоним идентификатор [(связывание_аргумента_псевдонима {, связывание_аргумента_псевдонима})];
2.8:
связывание_аргумента_псевдонима ::=
[аргумент_псевдонима_идентификатор =>] имя
| [аргумент_псевдонима_идентификатор =>] выражение
связывание_аргумента_псевдонима ::=
[аргумент_псевдонима_идентификатор =>] имя
| [аргумент_псевдонима_идентификатор =>] выражение
3.1:
основное_объявление ::=
объявление_типа | объявление_подтипа
| объявление_объекта | объявление_числа
| объявление_подпрограммы | объявление_абстрактной_подпрограммы
| объявление_пустой_процедуры | объявление_пакета
| объявление_переименования | объявление_исключения
| объявление_генерика | инстанцирование_генерика
основное_объявление ::=
объявление_типа | объявление_подтипа
| объявление_объекта | объявление_числа
| объявление_подпрограммы | объявление_абстрактной_подпрограммы
| объявление_пустой_процедуры | объявление_пакета
| объявление_переименования | объявление_исключения
| объявление_генерика | инстанцирование_генерика
3.2.1:
объявление_типа ::= полное_объявление_типа
| неполное_объявление_типа
| объявление_типа_с_частным_доступом
| расширение_объявления_типа_с_частным_доступом
объявление_типа ::= полное_объявление_типа
| неполное_объявление_типа
| объявление_типа_с_частным_доступом
| расширение_объявления_типа_с_частным_доступом
3.2.1:
полное_объявление_типа ::=
тип определяющий_идентификатор [часть_дискриминанта] есть определение_типа;
| объявление_типа_задачи
| объявление_типа_защищённого_объекта
полное_объявление_типа ::=
тип определяющий_идентификатор [часть_дискриминанта] есть определение_типа;
| объявление_типа_задачи
| объявление_типа_защищённого_объекта
3.2.1:
определение_типа ::=
определение_типа_перечисления | определение_целочисленного_типа
| определение_вещественного_типа | определение_типа_массива
| определение_типа_записи | определение_типа_с_доступом_через_ссылку
| определение_производного_типа | определение_типа_интерфейса
определение_типа ::=
определение_типа_перечисления | определение_целочисленного_типа
| определение_вещественного_типа | определение_типа_массива
| определение_типа_записи | определение_типа_с_доступом_через_ссылку
| определение_производного_типа | определение_типа_интерфейса
3.2.2:
ограничение_скалярного_типа ::=
ограничение_диапазона | ограничение_разрядов | ограничение_дельта
END_OF_DOCUMENT_MARKER ограничение_скалярного_типа ::=
ограничение_диапазона | ограничение_разрядов | ограничение_дельта
3.3.1:
object_declaration ::=
defining_identifier_list : [aliased] [constant] subtype_indication [:= expression];
| defining_identifier_list : [aliased] [constant] access_definition [:= expression];
| defining_identifier_list : [aliased] [constant] array_type_definition [:= expression];
| single_task_declaration
| single_protected_declaration
object_declaration ::=
defining_identifier_list : [aliased] [constant] subtype_indication [:= expression];
| defining_identifier_list : [aliased] [constant] access_definition [:= expression];
| defining_identifier_list : [aliased] [constant] array_type_definition [:= expression];
| single_task_declaration
| single_protected_declaration
3.4:
derived_type_definition ::=
[abstract] [limited] new parent_subtype_indication [[and interface_list] record_extension_part]
derived_type_definition ::=
[abstract] [limited] new parent_subtype_indication [[and interface_list] record_extension_part]
3.5.1:
enumeration_type_definition ::=
(enumeration_literal_specification {, enumeration_literal_specification})
enumeration_type_definition ::=
(enumeration_literal_specification {, enumeration_literal_specification})
3.5.4:
signed_integer_type_definition ::= range static_simple_expression .. static_simple_expression
signed_integer_type_definition ::= range static_simple_expression .. static_simple_expression
3.5.9:
decimal_fixed_point_definition ::=
delta static_expression digits static_expression [real_range_specification]
decimal_fixed_point_definition ::=
delta static_expression digits static_expression [real_range_specification]
3.6:
unconstrained_array_definition ::=
array(index_subtype_definition {, index_subtype_definition}) of component_definition
unconstrained_array_definition ::=
array(index_subtype_definition {, index_subtype_definition}) of component_definition
3.6:
constrained_array_definition ::=
array (discrete_subtype_definition {, discrete_subtype_definition}) of component_definition
END_OF_DOCUMENT_MARKER constrained_array_definition ::=
array (discrete_subtype_definition {, discrete_subtype_definition}) of component_definition
3.7:
discriminant_specification ::=
defining_identifier_list : [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
discriminant_specification ::=
defining_identifier_list : [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
3.7.1:
discriminant_association ::=
[дискриминантный_selector_name {| дискриминантный_selector_name} =>] expression
discriminant_association ::=
[дискриминантный_selector_name {| дискриминантный_selector_name} =>] expression
3.8:
component_declaration ::=
defining_identifier_list : component_definition [:= default_expression];
component_declaration ::=
defining_identifier_list : component_definition [:= default_expression];
3.9.3:
abstract_subprogram_declaration ::=
[overriding_indicator]
subprogram_specification is abstract;
abstract_subprogram_declaration ::=
[overriding_indicator]
subprogram_specification is abstract;
3.9.4:
interface_type_definition ::=
[limited | task | protected | synchronized] interface [and interface_list]
interface_type_definition ::=
[limited | task | protected | synchronized] interface [and interface_list]
3.10:
access_type_definition ::=
[null_exclusion] access_to_object_definition
| [null_exclusion] access_to_subprogram_definition
access_type_definition ::=
[null_exclusion] access_to_object_definition
| [null_exclusion] access_to_subprogram_definition
3.10:
access_to_subprogram_definition ::=
access [protected] procedure parameter_profile
| access [protected] function parameter_and_result_profile
access_to_subprogram_definition ::=
access [protected] procedure parameter_profile
| access [protected] function parameter_and_result_profile
3.10:
access_definition ::=
[null_exclusion] access [constant] subtype_mark
| [null_exclusion] access [protected] procedure parameter_profile
| [null_exclusion] access [protected] function parameter_and_result_profile
access_definition ::=
[null_exclusion] access [constant] subtype_mark
| [null_exclusion] access [protected] procedure parameter_profile
| [null_exclusion] access [protected] function parameter_and_result_profile
4.1:
name ::=
direct_name | explicit_dereference
| indexed_component | slice
| selected_component | attribute_reference
| type_conversion | function_call
| character_literal
END_OF_DOCUMENT_MARKER name ::=
direct_name | explicit_dereference
| indexed_component | slice
| selected_component | attribute_reference
| type_conversion | function_call
| character_literal
4.3.1:
record_component_association_list ::=
ассоциация_компонента_записи {, ассоциация_компонента_записи}
| null record
record_component_association_list ::=
ассоциация_компонента_записи {, ассоциация_компонента_записи}
| null record
4.3.1:
record_component_association ::=
[список_выбора_компонентов =>] выражение
| список_выбора_компонентов => <>
record_component_association ::=
[список_выбора_компонентов =>] выражение
| список_выбора_компонентов => <>
4.3.3:
positional_array_aggregate ::=
(выражение, выражение {, выражение})
| (выражение {, выражение}, others => выражение)
| (выражение {, выражение}, others => <>)
positional_array_aggregate ::=
(выражение, выражение {, выражение})
| (выражение {, выражение}, others => выражение)
| (выражение {, выражение}, others => <>)
4.3.3:
array_component_association ::=
список_дискретного_выбора => выражение
| список_дискретного_выбора => <>
array_component_association ::=
список_дискретного_выбора => выражение
| список_дискретного_выбора => <>
4.4:
expression ::=
отношение {and отношение} | отношение {and then отношение}
| отношение {or отношение} | отношение {or else отношение}
| отношение {xor отношение}
expression ::=
отношение {and отношение} | отношение {and then отношение}
| отношение {or отношение} | отношение {or else отношение}
| отношение {xor отношение}
4.4:
relation ::=
простое_выражение [оператор_отношения простое_выражение]
| простое_выражение [not] in диапазон
| простое_выражение [not] in метка_типа_подтипа
END_OF_DOCUMENT_MARKER relation ::=
простое_выражение [оператор_отношения простое_выражение]
| простое_выражение [not] in диапазон
| простое_выражение [not] in метка_типа_подтипа
4.4:
primary ::=
numeric_literal | null | string_literal | aggregate
| name | qualified_expression | allocator | (expression)
primary ::=
numeric_literal | null | string_literal | aggregate
| name | qualified_expression | allocator | (expression)
5.1:
simple_statement ::= null_statement
| assignment_statement | exit_statement
| goto_statement | procedure_call_statement
| simple_return_statement | entry_call_statement
| requeue_statement | delay_statement
| abort_statement | raise_statement
| code_statement
simple_statement ::= null_statement
| assignment_statement | exit_statement
| goto_statement | procedure_call_statement
| simple_return_statement | entry_call_statement
| requeue_statement | delay_statement
| abort_statement | raise_statement
| code_statement
5.1:
compound_statement ::=
if_statement | case_statement
| loop_statement | block_statement
| extended_return_statement
| accept_statement | select_statement
compound_statement ::=
if_statement | case_statement
| loop_statement | block_statement
| extended_return_statement
| accept_statement | select_statement
5.3:
if_statement ::=
if condition then
sequence_of_statements
{elsif condition then
sequence_of_statements}
[else
sequence_of_statements]
end if;
if_statement ::=
if condition then
sequence_of_statements
{elsif condition then
sequence_of_statements}
[else
sequence_of_statements]
end if;
5.4:
case_statement ::=
case expression is
case_statement_alternative
{case_statement_alternative}
end case;
case_statement ::=
case expression is
case_statement_alternative
{case_statement_alternative}
end case;
5.5:
loop_statement ::=
[цикл_statement_identifier:]
[iteration_scheme] loop
sequence_of_statements
end loop [цикл_identifier];
loop_statement ::=
[цикл_statement_identifier:]
[iteration_scheme] loop
sequence_of_statements
end loop [цикл_identifier];
5.6:
block_statement ::=
[блок_statement_identifier:]
[declare
declarative_part]
begin
handled_sequence_of_statements
end [блок_identifier];
END_OF_DOCUMENT_MARKER block_statement ::=
[блок_statement_identifier:]
[declare
declarative_part]
begin
handled_sequence_of_statements
end [блок_identifier];
6.1:
parameter_and_result_profile ::=
[formal_part] return [null_exclusion] subtype_mark
| [formal_part] return access_definition
parameter_and_result_profile ::=
[formal_part] return [null_exclusion] subtype_mark
| [formal_part] return access_definition
6.1:
parameter_specification ::=
defining_identifier_list : mode [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
parameter_specification ::=
defining_identifier_list : mode [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
6.3:
subprogram_body ::=
[overriding_indicator]
subprogram_specification is
declarative_part
begin
handled_sequence_of_statements
end [designator];
subprogram_body ::=
[overriding_indicator]
subprogram_specification is
declarative_part
begin
handled_sequence_of_statements
end [designator];
6.5:
extended_return_statement ::=
return defining_identifier : [aliased] return_subtype_indication [:= expression] [do
handled_sequence_of_statements
end return];
extended_return_statement ::=
return defining_identifier : [aliased] return_subtype_indication [:= expression] [do
handled_sequence_of_statements
end return];
7.1:
package_specification ::=
package defining_program_unit_name is
{basic_declarative_item}
[private
{basic_declarative_item}]
end [[parent_unit_name.]identifier]
package_specification ::=
package defining_program_unit_name is
{basic_declarative_item}
[private
{basic_declarative_item}]
end [[parent_unit_name.]identifier]
7.2:
package_body ::=
package body defining_program_unit_name is
declarative_part
[begin
handled_sequence_of_statements]
end [[parent_unit_name.]identifier];
package_body ::=
package body defining_program_unit_name is
declarative_part
[begin
handled_sequence_of_statements]
end [[parent_unit_name.]identifier];
7.3:
private_type_declaration ::=
type defining_identifier [discriminant_part] is [[abstract] tagged] [limited] private;
private_type_declaration ::=
type defining_identifier [discriminant_part] is [[abstract] tagged] [limited] private;
7.3:
private_extension_declaration ::=
type defining_identifier [discriminant_part] is
[abstract] [limited | synchronized] new ancestor_subtype_indication
[and interface_list] with private;
END_OF_DOCUMENT_MARKER private_extension_declaration ::=
type defining_identifier [discriminant_part] is
[abstract] [limited | synchronized] new ancestor_subtype_indication
[and interface_list] with private;
8.5:
renaming_declaration ::=
object_renaming_declaration
| exception_renaming_declaration
| package_renaming_declaration
| subprogram_renaming_declaration
| generic_renaming_declaration
renaming_declaration ::=
object_renaming_declaration
| exception_renaming_declaration
| package_renaming_declaration
| subprogram_renaming_declaration
| generic_renaming_declaration
8.5.1:
object_renaming_declaration ::=
defining_identifier : [null_exclusion] subtype_mark переименовывает object_name;
| defining_identifier : access_definition переименовывает object_name;
object_renaming_declaration ::=
defining_identifier : [null_exclusion] subtype_mark переименовывает object_name;
| defining_identifier : access_definition переименовывает object_name;
8.5.2:
exception_renaming_declaration ::= defining_identifier : исключение переименовывает exception_name;
exception_renaming_declaration ::= defining_identifier : исключение переименовывает exception_name;
8.5.3:
package_renaming_declaration ::= пакет defining_program_unit_name переименовывает package_name;
package_renaming_declaration ::= пакет defining_program_unit_name переименовывает package_name;
8.5.4:
subprogram_renaming_declaration ::=
[overriding_indicator]
subprogram_specification переименовывает callable_entity_name;
subprogram_renaming_declaration ::=
[overriding_indicator]
subprogram_specification переименовывает callable_entity_name;
8.5.5:
generic_renaming_declaration ::=
общий пакет defining_program_unit_name переименовывает generic_package_name;
| общая процедура defining_program_unit_name переименовывает generic_procedure_name;
| общая функция defining_program_unit_name переименовывает generic_function_name;
generic_renaming_declaration ::=
общий пакет defining_program_unit_name переименовывает generic_package_name;
| общая процедура defining_program_unit_name переименовывает generic_procedure_name;
| общая функция defining_program_unit_name переименовывает generic_function_name;
9.1:
task_type_declaration ::=
задача тип defining_identifier [known_discriminant_part] [является
[новый interface_list с]
task_definition];
task_type_declaration ::=
задача тип defining_identifier [known_discriminant_part] [является
[новый interface_list с]
task_definition];
9.1:
single_task_declaration ::=
задача defining_identifier [является
[новый interface_list с]
task_definition];
single_task_declaration ::=
задача defining_identifier [является
[новый interface_list с]
task_definition];
9.1:
task_body ::=
задача тело defining_identifier является
declarative_part
начало
handled_sequence_of_statements
конец [task_identifier];
task_body ::=
задача тело defining_identifier является
declarative_part
начало
handled_sequence_of_statements
конец [task_identifier];
9.4:
protected_type_declaration ::=
защищенный тип defining_identifier [known_discriminant_part] является
[новый interface_list с]
protected_definition;
protected_type_declaration ::=
защищенный тип defining_identifier [known_discriminant_part] является
[новый interface_list с]
protected_definition;
9.4:
single_protected_declaration ::=
защищенный defining_identifier является
[новый interface_list с]
protected_definition;
single_protected_declaration ::=
защищенный defining_identifier является
[новый interface_list с]
protected_definition;
9.4:
protected_definition ::=
{ protected_operation_declaration }
[ приватный
{ protected_element_declaration } ]
конец [protected_identifier]
protected_definition ::=
{ protected_operation_declaration }
[ приватный
{ protected_element_declaration } ]
конец [protected_identifier]
9.4:
protected_body ::=
защищенный тело defining_identifier является
{ protected_operation_item }
конец [protected_identifier];
protected_body ::=
защищенный тело defining_identifier является
{ protected_operation_item }
конец [protected_identifier];
9.4:
protected_operation_item ::= subprogram_declaration
| subprogram_body
| entry_body
| aspect_clause
protected_operation_item ::= subprogram_declaration
| subprogram_body
| entry_body
| aspect_clause
9.5.2:
entry_declaration ::=
[overriding_indicator]
вход defining_identifier [(discrete_subtype_definition)] parameter_profile;
entry_declaration ::=
[overriding_indicator]
вход defining_identifier [(discrete_subtype_definition)] parameter_profile;
9.5.2:
accept_statement ::=
принять entry_direct_name [(entry_index)] parameter_profile [сделав
handled_sequence_of_statements
конец [entry_identifier]];
accept_statement ::=
принять entry_direct_name [(entry_index)] parameter_profile [сделав
handled_sequence_of_statements
конец [entry_identifier]];
9.5.2:
entry_body ::=
вход defining_identifier entry_body_formal_part entry_barrier является
declarative_part
начало
handled_sequence_of_statements
конец [entry_identifier];
END_OF_DOCUMENT_MARKER entry_body ::=
вход defining_identifier entry_body_formal_part entry_barrier является
declarative_part
начало
handled_sequence_of_statements
конец [entry_identifier];
9.7:
select_statement ::=
selective_accept
| timed_entry_call
| conditional_entry_call
| asynchronous_select
select_statement ::=
selective_accept
| timed_entry_call
| conditional_entry_call
| asynchronous_select
9.7.1:
selective_accept ::=
выбор
[guard]
select_alternative
{ или
[guard]
select_alternative }
[ иначе
sequence_of_statements ]
конец выбора;
selective_accept ::=
выбор
[guard]
select_alternative
{ или
[guard]
select_alternative }
[ иначе
sequence_of_statements ]
конец выбора;
9.7.3:
conditional_entry_call ::=
выбор
entry_call_alternative
иначе
sequence_of_statements
конец выбора;
conditional_entry_call ::=
выбор
entry_call_alternative
иначе
sequence_of_statements
конец выбора;
9.7.4:
asynchronous_select ::=
выбор
triggering_alternative
затем прервать
abortable_part
конец выбора;
asynchronous_select ::=
выбор
triggering_alternative
затем прервать
abortable_part
конец выбора;
10.1.1:
library_item ::= [приватный] library_unit_declaration
| library_unit_body
| [приватный] library_unit_renaming_declaration
library_item ::= [приватный] library_unit_declaration
| library_unit_body
| [приватный] library_unit_renaming_declaration
10.1.1:
library_unit_declaration ::=
subprogram_declaration | package_declaration
| generic_declaration | generic_instantiation
library_unit_declaration ::=
subprogram_declaration | package_declaration
| generic_declaration | generic_instantiation
10.1.1:
library_unit_renaming_declaration ::=
package_renaming_declaration
| generic_renaming_declaration
| subprogram_renaming_declaration
END_OF_DOCUMENT_MARKER library_unit_renaming_declaration ::=
package_renaming_declaration
| generic_renaming_declaration
| subprogram_renaming_declaration
10.1.3:
body_stub ::= заглушка_тела_подпрограммы | заглушка_тела_пакета | заглушка_тела_задачи | заглушка_тела_защищенного_блока
body_stub ::= заглушка_тела_подпрограммы | заглушка_тела_пакета | заглушка_тела_задачи | заглушка_тела_защищенного_блока
11.2:
handled_sequence_of_statements ::=
последовательность_операторов
[исключение
обработчик_исключения
{обработчик_исключения}]
handled_sequence_of_statements ::=
последовательность_операторов
[исключение
обработчик_исключения
{обработчик_исключения}]
11.2:
exception_handler ::=
when [описание_параметра_выбора:] выбор_исключения {| выбор_исключения} =>
последовательность_операторов
exception_handler ::=
when [описание_параметра_выбора:] выбор_исключения {| выбор_исключения} =>
последовательность_операторов
12.1:
generic_declaration ::= объявление_генерической_подпрограммы | объявление_генерического_пакета
generic_declaration ::= объявление_генерической_подпрограммы | объявление_генерического_пакета
12.1:
generic_formal_part ::= generic {объявление_формального_параметра_генерика | оператор_использования}
generic_formal_part ::= generic {объявление_формального_параметра_генерика | оператор_использования}
12.1:
generic_formal_parameter_declaration ::=
объявление_формального_объекта
| объявление_формального_типа
| объявление_формальной_подпрограммы
| объявление_формального_пакета
generic_formal_parameter_declaration ::=
объявление_формального_объекта
| объявление_формального_типа
| объявление_формальной_подпрограммы
| объявление_формального_пакета
12.3:
generic_instantiation ::=
package имя_блока_программы is
new генерический_пакет_имя [формальная_часть_генерика];
| [индикатор_переопределения]
procedure имя_блока_программы is
new генерическая_процедура_имя [формальная_часть_генерика];
| [индикатор_переопределения]
function имя_функции is
new генерическая_функция_имя [формальная_часть_генерика];
generic_instantiation ::=
package имя_блока_программы is
new генерический_пакет_имя [формальная_часть_генерика];
| [индикатор_переопределения]
procedure имя_блока_программы is
new генерическая_процедура_имя [формальная_часть_генерика];
| [индикатор_переопределения]
function имя_функции is
new генерическая_функция_имя [формальная_часть_генерика];
12.3:
generic_association ::=
[формальный_параметр_генерика_имя_селектора =>] явный_параметр_генерика
generic_association ::=
[формальный_параметр_генерика_имя_селектора =>] явный_параметр_генерика
12.3:
explicit_generic_actual_parameter ::= выражение | переменная_имя
| подпрограмма_имя | вход_имя | метка_типа
| экземпляр_пакета_имя
explicit_generic_actual_parameter ::= выражение | переменная_имя
| подпрограмма_имя | вход_имя | метка_типа
| экземпляр_пакета_имя
12.4:
formal_object_declaration ::=
список_идентификаторов_определения : режим [исключение_нулевого_значения] метка_типа [:= выражение_по_умолчанию];
список_идентификаторов_определения : режим определение_доступа [:= выражение_по_умолчанию];
formal_object_declaration ::=
список_идентификаторов_определения : режим [исключение_нулевого_значения] метка_типа [:= выражение_по_умолчанию];
список_идентификаторов_определения : режим определение_доступа [:= выражение_по_умолчанию];
12.5:
formal_type_declaration ::=
type идентификатор_определения[часть_дискриминантов] is определение_формального_типа;
END_OF_DOCUMENT_MARKER
formal_type_declaration ::=
type идентификатор_определения[часть_дискриминантов] is определение_формального_типа;
12.5:
formal_type_definition ::=
formal_private_type_definition
| formal_derived_type_definition
| formal_discrete_type_definition
| formal_signed_integer_type_definition
| formal_modular_type_definition
| formal_floating_point_definition
| formal_ordinary_fixed_point_definition
| formal_decimal_fixed_point_definition
| formal_array_type_definition
| formal_access_type_definition
| formal_interface_type_definition
formal_type_definition ::=
formal_private_type_definition
| formal_derived_type_definition
| formal_discrete_type_definition
| formal_signed_integer_type_definition
| formal_modular_type_definition
| formal_floating_point_definition
| formal_ordinary_fixed_point_definition
| formal_decimal_fixed_point_definition
| formal_array_type_definition
| formal_access_type_definition
| formal_interface_type_definition
12.5.1:
formal_derived_type_definition ::=
[абстрактный] [ограниченный | синхронизированный] новый subtype_mark [[и interface_list]с частным]
formal_derived_type_definition ::=
[абстрактный] [ограниченный | синхронизированный] новый subtype_mark [[и interface_list]с частным]
12.6:
formal_subprogram_declaration ::= formal_concrete_subprogram_declaration
| formal_abstract_subprogram_declaration
formal_subprogram_declaration ::= formal_concrete_subprogram_declaration
| formal_abstract_subprogram_declaration
12.6:
formal_concrete_subprogram_declaration ::=
с subprogram_specification [есть subprogram_default];
formal_concrete_subprogram_declaration ::=
с subprogram_specification [есть subprogram_default];
12.6:
formal_abstract_subprogram_declaration ::=
с subprogram_specification абстрактный [subprogram_default];
formal_abstract_subprogram_declaration ::=
с subprogram_specification абстрактный [subprogram_default];
12.7:
formal_package_declaration ::=
с пакет defining_identifier есть новый generic_package_name formal_package_actual_part;
formal_package_declaration ::=
с пакет defining_identifier есть новый generic_package_name formal_package_actual_part;
12.7:
formal_package_actual_part ::=
([другие =>] <>)
| [generic_actual_part]
| (formal_package_association {, formal_package_association} [, другие => <>])
formal_package_actual_part ::=
([другие =>] <>)
| [generic_actual_part]
| (formal_package_association {, formal_package_association} [, другие => <>])
12.7:
formal_package_association ::=
generic_association
| generic_formal_parameter_selector_name => <>
formal_package_association ::=
generic_association
| generic_formal_parameter_selector_name => <>
13.1:
aspect_clause ::= attribute_definition_clause
| enumeration_representation_clause
| record_representation_clause
| at_clause
aspect_clause ::= attribute_definition_clause
| enumeration_representation_clause
| record_representation_clause
| at_clause
13.3:
attribute_definition_clause ::=
для local_name'attribute_designator использовать выражение;
| для local_name'attribute_designator использовать имя;
attribute_definition_clause ::=
для local_name'attribute_designator использовать выражение;
| для local_name'attribute_designator использовать имя;
13.4:
enumeration_representation_clause ::=
для first_subtype_local_name использовать enumeration_aggregate;
enumeration_representation_clause ::=
для first_subtype_local_name использовать enumeration_aggregate;
13.5.1:
record_representation_clause ::=
для first_subtype_local_name использовать
запись [mod_clause]
{component_clause}
конец записи;
record_representation_clause ::=
для first_subtype_local_name использовать
запись [mod_clause]
{component_clause}
конец записи;
13.12:
restriction ::= restriction_identifier
| restriction_parameter_identifier => restriction_parameter_argument
END_OF_DOCUMENT_MARKER restriction ::= restriction_identifier
| restriction_parameter_identifier => restriction_parameter_argument
Справочник по синтаксису
В следующем справочнике по синтаксису каждая синтаксическая категория сопровождается номером раздела, где она определена. Кроме того, каждая синтаксическая категория S сопровождается списком категорий, которые используют S в своих определениях. Например, первая запись ниже показывает, что abort_statement появляется в определении simple_statement.
access_definition 3.10
component_definition 3.6
discriminant_specification 3.7
formal_object_declaration 12.4
object_declaration 3.3.1
object_renaming_declaration 8.5.1
parameter_and_result_profile 6.1
parameter_specification 6.1
return_subtype_indication 6.5
END_OF_DOCUMENT_MARKER component_definition 3.6
discriminant_specification 3.7
formal_object_declaration 12.4
object_declaration 3.3.1
object_renaming_declaration 8.5.1
parameter_and_result_profile 6.1
parameter_specification 6.1
return_subtype_indication 6.5
часть_фактического_параметра 6.4
оператор_вызова_входной_точки 9.5.3
вызов_функции 6.4
оператор_вызова_процедуры 6.4
оператор_вызова_входной_точки 9.5.3
вызов_функции 6.4
оператор_вызова_процедуры 6.4
определение_типа_массива 3.6
формальное_определение_типа_массива 12.5.3
объявление_объекта 3.3.1
определение_типа 3.2.1
формальное_определение_типа_массива 12.5.3
объявление_объекта 3.3.1
определение_типа 3.2.1
оператор_класса 13.1
базовый_декларативный_элемент 3.11
элемент_компонента 3.8
объявление_операции_защищенного_объекта 9.4
элемент_операции_защищенного_объекта 9.4
элемент_задачи 9.1
базовый_декларативный_элемент 3.11
элемент_компонента 3.8
объявление_операции_защищенного_объекта 9.4
элемент_операции_защищенного_объекта 9.4
элемент_задачи 9.1
определение_компонента 3.6
объявление_компонента 3.8
определение_массива_с_ограничениями 3.6
определение_массива_без_ограничений 3.6
END_OF_DOCUMENT_MARKER объявление_компонента 3.8
определение_массива_с_ограничениями 3.6
определение_массива_без_ограничений 3.6
часть_объявлений 3.11
блок_операции 5.6
тело_входной_точки 9.5.2
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
блок_операции 5.6
тело_входной_точки 9.5.2
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
выражение_по_умолчанию 3.7
объявление_компонента 3.8
спецификация_дискриминанта 3.7
объявление_формального_объекта 12.4
спецификация_параметра 6.1
объявление_компонента 3.8
спецификация_дискриминанта 3.7
объявление_формального_объекта 12.4
спецификация_параметра 6.1
определяющая_литеральная_константа_символа 3.5.1
спецификация_литеральной_константы_перечисления 3.5.1
спецификация_литеральной_константы_перечисления 3.5.1
определяющий_идентификатор 3.1
спецификация_параметра_выбора 11.2
список_определяющих_идентификаторов 3.3.1
определяющее_имя_программного_блока 6.1
тело_входной_точки 9.5.2
объявление_входной_точки 9.5.2
спецификация_индекса_входной_точки 9.5.2
спецификация_литеральной_константы_перечисления 3.5.1
переименование_исключения_объявление 8.5.2
расширенное_возвращающее_выражение 6.5
объявление_формального_пакета 12.7
объявление_формального_типа 12.5
полное_объявление_типа 3.2.1
неполное_объявление_типа 3.10.1
спецификация_параметра_цикла 5.5
объявление_переименования_объекта 8.5.1
заглушка_тела_пакета 10.1.3
объявление_расширения_приватной_части 7.3
объявление_приватного_типа 7.3
тело_защищённого_блока 9.4
заглушка_тела_защищённого_блока 10.1.3
объявление_защищённого_типа 9.4
отдельное_объявление_защищённого_блока 9.4
отдельное_объявление_задачи 9.1
объявление_подтипа 3.2.2
тело_задачи 9.1
заглушка_тела_задачи 10.1.3
объявление_типа_задачи 9.1
спецификация_параметра_выбора 11.2
список_определяющих_идентификаторов 3.3.1
определяющее_имя_программного_блока 6.1
тело_входной_точки 9.5.2
объявление_входной_точки 9.5.2
спецификация_индекса_входной_точки 9.5.2
спецификация_литеральной_константы_перечисления 3.5.1
переименование_исключения_объявление 8.5.2
расширенное_возвращающее_выражение 6.5
объявление_формального_пакета 12.7
объявление_формального_типа 12.5
полное_объявление_типа 3.2.1
неполное_объявление_типа 3.10.1
спецификация_параметра_цикла 5.5
объявление_переименования_объекта 8.5.1
заглушка_тела_пакета 10.1.3
объявление_расширения_приватной_части 7.3
объявление_приватного_типа 7.3
тело_защищённого_блока 9.4
заглушка_тела_защищённого_блока 10.1.3
объявление_защищённого_типа 9.4
отдельное_объявление_защищённого_блока 9.4
отдельное_объявление_задачи 9.1
объявление_подтипа 3.2.2
тело_задачи 9.1
заглушка_тела_задачи 10.1.3
объявление_типа_задачи 9.1
список_определяющих_идентификаторов 3.3.1
объявление_компонента 3.8
спецификация_дискриминанта 3.7
объявление_исключения 11.1
объявление_формального_объекта 12.4
объявление_числа 3.3.2
объявление_объекта 3.3.1
спецификация_параметра 6.1
объявление_компонента 3.8
спецификация_дискриминанта 3.7
объявление_исключения 11.1
объявление_формального_объекта 12.4
объявление_числа 3.3.2
объявление_объекта 3.3.1
спецификация_параметра 6.1
определяющее_имя_программного_блока 6.1
определяющий_дескриптор 6.1
генерация_инстанции 12.3
генеративное_переименование_объявление 8.5.5
тело_пакета 7.2
переименование_пакета_объявление 8.5.3
спецификация_пакета 7.1
спецификация_процедуры 6.1
END_OF_DOCUMENT_MARKER определяющий_дескриптор 6.1
генерация_инстанции 12.3
генеративное_переименование_объявление 8.5.5
тело_пакета 7.2
переименование_пакета_объявление 8.5.3
спецификация_пакета 7.1
спецификация_процедуры 6.1
прямое_имя 4.1
оператор_приема 9.5.2
оператор_at J.7
локальное_имя 13.1
имя 4.1
идентификатор_оператора 5.1
часть_варианта 3.8.1
оператор_приема 9.5.2
оператор_at J.7
локальное_имя 13.1
имя 4.1
идентификатор_оператора 5.1
часть_варианта 3.8.1
список_дискретных_выборов 3.8.1
ассоциация_компонента_массива 4.3.3
альтернатива_оператора_case 5.4
вариант 3.8.1
ассоциация_компонента_массива 4.3.3
альтернатива_оператора_case 5.4
вариант 3.8.1
определение_подтипа_дискретного 3.6
определение_массива_с_ограничениями 3.6
объявление_входа 9.5.2
спецификация_индекса_входа 9.5.2
спецификация_параметра_цикла 5.5
END_OF_DOCUMENT_MARKER определение_массива_с_ограничениями 3.6
объявление_входа 9.5.2
спецификация_индекса_входа 9.5.2
спецификация_параметра_цикла 5.5
discriminant_part 3.7
formal_type_declaration 12.5
incomplete_type_declaration 3.10.1
private_extension_declaration 7.3
private_type_declaration 7.3
END_OF_DOCUMENT_MARKER formal_type_declaration 12.5
incomplete_type_declaration 3.10.1
private_extension_declaration 7.3
private_type_declaration 7.3
выражение 4.4
часть_предка 4.3.2
ассоциация_компонента_массива 4.3.3
оператор_присваивания 5.2
оператор_в_определении J.7
оператор_определения_атрибута 13.3
обозначения_атрибутов 4.1.4
оператор_switch 5.4
условие 5.3
определение_десятичного_числа_с_плавающей_точкой 3.5.9
выражение_по_умолчанию 3.7
оператор_задержки_относительно 9.6
оператор_задержки_до 9.6
ограничение_дельта J.3
ограничение_цифр 3.5.9
дискретный_выбор 3.8.1
ассоциация_дискриминанта 3.7.1
индекс_входа 9.5.2
явный_фактический_параметр 6.4
явный_фактический_параметр_обобщенного_типа 12.3
расширенный_оператор_возврата 6.5
определение_типа_с_плавающей_точкой 3.5.7
индексированный_компонент 4.1.1
оператор_mod J.8
определение_модульного_типа 3.5.4
объявление_числа 3.3.2
объявление_объекта 3.3.1
определение_обычного_числа_с_фиксированной_точкой 3.5.9
позиция 13.5.1
позиционная_агрегация_массива 4.3.3
ассоциация_параметра_pragma 2.8
первичное_выражение 4.4
квалифицированное_выражение 4.7
оператор_выброса 11.3
обозначения_атрибутов_диапазона 4.1.4
ассоциация_компонента_записи 4.3.1
параметр_аргумента_ограничения 13.12
простой_оператор_возврата 6.5
преобразование_типа 4.6
END_OF_DOCUMENT_MARKER часть_предка 4.3.2
ассоциация_компонента_массива 4.3.3
оператор_присваивания 5.2
оператор_в_определении J.7
оператор_определения_атрибута 13.3
обозначения_атрибутов 4.1.4
оператор_switch 5.4
условие 5.3
определение_десятичного_числа_с_плавающей_точкой 3.5.9
выражение_по_умолчанию 3.7
оператор_задержки_относительно 9.6
оператор_задержки_до 9.6
ограничение_дельта J.3
ограничение_цифр 3.5.9
дискретный_выбор 3.8.1
ассоциация_дискриминанта 3.7.1
индекс_входа 9.5.2
явный_фактический_параметр 6.4
явный_фактический_параметр_обобщенного_типа 12.3
расширенный_оператор_возврата 6.5
определение_типа_с_плавающей_точкой 3.5.7
индексированный_компонент 4.1.1
оператор_mod J.8
определение_модульного_типа 3.5.4
объявление_числа 3.3.2
объявление_объекта 3.3.1
определение_обычного_числа_с_фиксированной_точкой 3.5.9
позиция 13.5.1
позиционная_агрегация_массива 4.3.3
ассоциация_параметра_pragma 2.8
первичное_выражение 4.4
квалифицированное_выражение 4.7
оператор_выброса 11.3
обозначения_атрибутов_диапазона 4.1.4
ассоциация_компонента_записи 4.3.1
параметр_аргумента_ограничения 13.12
простой_оператор_возврата 6.5
преобразование_типа 4.6
действительная_часть_генератора 12.3
формальная_часть_действительного_пакета 12.7
инстанцирование_генератора 12.3
формальная_часть_действительного_пакета 12.7
инстанцирование_генератора 12.3
формальная_часть_генератора 12.1
декларация_генераторного_пакета 12.1
декларация_генераторной_подпрограммы 12.1
END_OF_DOCUMENT_MARKER декларация_генераторного_пакета 12.1
декларация_генераторной_подпрограммы 12.1
объявление_переименования_обобщения 8.5.5
переименование_объявления_единицы_библиотеки 10.1.1
объявление_переименования 8.5
переименование_объявления_единицы_библиотеки 10.1.1
объявление_переименования 8.5
обработанная_последовательность_выражений 11.2
выражение_приёма 9.5.2
выражение_блока 5.6
тело_входной_точки 9.5.2
расширенное_выражение_возврата 6.5
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
выражение_приёма 9.5.2
выражение_блока 5.6
тело_входной_точки 9.5.2
расширенное_выражение_возврата 6.5
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
идентификатор 2.3
выражение_приёма 9.5.2
обозначатель_атрибута 4.1.4
выражение_блока 5.6
определяющий_идентификатор 3.1
обозначатель 6.1
прямое_имя 4.1
тело_входной_точки 9.5.2
выражение_цикла 5.5
тело_пакета 7.2
спецификация_пакета 7.1
псевдоним 2.8
связывание_аргумента_псевдонима 2.8
тело_защищённого_блока 9.4
определение_защищённого_блока 9.4
ограничение 13.12
имя_выбора 4.1.3
тело_задачи 9.1
определение_задачи 9.1
выражение_приёма 9.5.2
обозначатель_атрибута 4.1.4
выражение_блока 5.6
определяющий_идентификатор 3.1
обозначатель 6.1
прямое_имя 4.1
тело_входной_точки 9.5.2
выражение_цикла 5.5
тело_пакета 7.2
спецификация_пакета 7.1
псевдоним 2.8
связывание_аргумента_псевдонима 2.8
тело_защищённого_блока 9.4
определение_защищённого_блока 9.4
ограничение 13.12
имя_выбора 4.1.3
тело_задачи 9.1
определение_задачи 9.1
список_интерфейсов 3.9.4
определение_производного_типа 3.4
определение_формального_производного_типа 12.5.1
определение_типа_интерфейса 3.9.4
объявление_расширения_с_приватным_доступом 7.3
объявление_типа_с_защищенным_доступом 9.4
отдельное_объявление_с_защищенным_доступом 9.4
отдельное_объявление_задачи 9.1
объявление_типа_задачи 9.1
определение_производного_типа 3.4
определение_формального_производного_типа 12.5.1
определение_типа_интерфейса 3.9.4
объявление_расширения_с_приватным_доступом 7.3
объявление_типа_с_защищенным_доступом 9.4
отдельное_объявление_с_защищенным_доступом 9.4
отдельное_объявление_задачи 9.1
объявление_типа_задачи 9.1
определение_типа_интерфейса 3.9.4
определение_формального_типа_интерфейса 12.5.5
определение_типа 3.2.1
определение_формального_типа_интерфейса 12.5.5
определение_типа 3.2.1
известная_часть_дискриминанта 3.7
часть_дискриминанта 3.7
полное_определение_типа 3.2.1
защищённое_определение_типа 9.4
определение_типа_задачи 9.1
часть_дискриминанта 3.7
полное_определение_типа 3.2.1
защищённое_определение_типа 9.4
определение_типа_задачи 9.1
локальное_имя 13.1
оператор_определения_атрибута 13.3
оператор_компонента 13.5.1
оператор_представления_перечисления 13.4
оператор_представления_записи 13.5.1
END_OF_DOCUMENT_MARKER оператор_определения_атрибута 13.3
оператор_компонента 13.5.1
оператор_представления_перечисления 13.4
оператор_представления_записи 13.5.1
имя 4.1
оператор_прерывания 9.8
оператор_присваивания 5.2
оператор_определения_атрибута 13.3
имя_по_умолчанию 12.6
оператор_вызова_входной_точки 9.5.3
выбор_исключения 11.2
объявление_переименования_исключения 8.5.2
оператор_выхода 5.7
явный_параметр_факта 6.4
явное_разыменование 4.1
явный_параметр_факта_обобщенного_типа 12.3
объявление_пакета 12.7
вызов_функции 6.4
обобщенная_инстанциация 12.3
объявление_переименования_обобщенного_типа 8.5.5
оператор_перехода 5.8
неявное_разыменование 4.1
оператор_связывания_с_ограничением 10.1.2
локальное_имя 13.1
оператор_связывания_без_ограничения 10.1.2
объявление_переименования_объекта 8.5.1
объявление_переименования_пакета 8.5.3
имя_родительского_модуля 10.1.1
связь_аргументов_псевдонима 2.8
префикс 4.1
основной_элемент 4.4
оператор_вызова_процедуры 6.4
оператор_выбрасывания_исключения 11.3
оператор_переочередивания 9.5.4
аргумент_параметра_ограничения 13.12
объявление_переименования_подпрограммы 8.5.4
маркер_подтипа 3.2.2
преобразование_типа 4.6
оператор_использования_пакета 8.4
оператор_прерывания 9.8
оператор_присваивания 5.2
оператор_определения_атрибута 13.3
имя_по_умолчанию 12.6
оператор_вызова_входной_точки 9.5.3
выбор_исключения 11.2
объявление_переименования_исключения 8.5.2
оператор_выхода 5.7
явный_параметр_факта 6.4
явное_разыменование 4.1
явный_параметр_факта_обобщенного_типа 12.3
объявление_пакета 12.7
вызов_функции 6.4
обобщенная_инстанциация 12.3
объявление_переименования_обобщенного_типа 8.5.5
оператор_перехода 5.8
неявное_разыменование 4.1
оператор_связывания_с_ограничением 10.1.2
локальное_имя 13.1
оператор_связывания_без_ограничения 10.1.2
объявление_переименования_объекта 8.5.1
объявление_переименования_пакета 8.5.3
имя_родительского_модуля 10.1.1
связь_аргументов_псевдонима 2.8
префикс 4.1
основной_элемент 4.4
оператор_вызова_процедуры 6.4
оператор_выбрасывания_исключения 11.3
оператор_переочередивания 9.5.4
аргумент_параметра_ограничения 13.12
объявление_переименования_подпрограммы 8.5.4
маркер_подтипа 3.2.2
преобразование_типа 4.6
оператор_использования_пакета 8.4
исключение_нулевого_значения 3.10
определение_с_доступом 3.10
определение_типа_с_доступом 3.10
указание_дискриминанта 3.7
объявление_формального_объекта 12.4
объявление_переименования_объекта 8.5.1
профиль_параметра_и_результата 6.1
указание_параметра 6.1
указание_подтипа 3.2.2
определение_с_доступом 3.10
определение_типа_с_доступом 3.10
указание_дискриминанта 3.7
объявление_формального_объекта 12.4
объявление_переименования_объекта 8.5.1
профиль_параметра_и_результата 6.1
указание_параметра 6.1
указание_подтипа 3.2.2
символ_оператора 6.1
определяющий_символ_оператора 6.1
обозначение 6.1
прямое_имя 4.1
имя_селектора 4.1.3
определяющий_символ_оператора 6.1
обозначение 6.1
прямое_имя 4.1
имя_селектора 4.1.3
overriding_indicator 8.3.1
abstract_subprogram_declaration 3.9.3
entry_declaration 9.5.2
generic_instantiation 12.3
null_procedure_declaration 6.7
subprogram_body 6.3
subprogram_body_stub 10.1.3
subprogram_declaration 6.1
subprogram_renaming_declaration 8.5.4
abstract_subprogram_declaration 3.9.3
entry_declaration 9.5.2
generic_instantiation 12.3
null_procedure_declaration 6.7
subprogram_body 6.3
subprogram_body_stub 10.1.3
subprogram_declaration 6.1
subprogram_renaming_declaration 8.5.4
package_renaming_declaration 8.5.3
library_unit_renaming_declaration 10.1.1
renaming_declaration 8.5
library_unit_renaming_declaration 10.1.1
renaming_declaration 8.5
parameter_and_result_profile 6.1
access_definition 3.10
access_to_subprogram_definition 3.10
function_specification 6.1
access_definition 3.10
access_to_subprogram_definition 3.10
function_specification 6.1
parameter_profile 6.1
accept_statement 9.5.2
access_definition 3.10
access_to_subprogram_definition 3.10
entry_body_formal_part 9.5.2
entry_declaration 9.5.2
procedure_specification 6.1
accept_statement 9.5.2
access_definition 3.10
access_to_subprogram_definition 3.10
entry_body_formal_part 9.5.2
entry_declaration 9.5.2
procedure_specification 6.1
parent_unit_name 10.1.1
defining_program_unit_name 6.1
designator 6.1
package_body 7.2
package_specification 7.1
subunit 10.1.3
defining_program_unit_name 6.1
designator 6.1
package_body 7.2
package_specification 7.1
subunit 10.1.3
prefix 4.1
attribute_reference 4.1.4
function_call 6.4
indexed_component 4.1.1
procedure_call_statement 6.4
range_attribute_reference 4.1.4
selected_component 4.1.3
slice 4.1.2
END_OF_DOCUMENT_MARKER attribute_reference 4.1.4
function_call 6.4
indexed_component 4.1.1
procedure_call_statement 6.4
range_attribute_reference 4.1.4
selected_component 4.1.3
slice 4.1.2
real_range_specification 3.5.7
decimal_fixed_point_definition 3.5.9
floating_point_definition 3.5.7
ordinary_fixed_point_definition 3.5.9
END_OF_DOCUMENT_MARKER decimal_fixed_point_definition 3.5.9
floating_point_definition 3.5.7
ordinary_fixed_point_definition 3.5.9
имя_селектора 4.1.3
список_выбора_компонентов 4.3.1
ассоциация_дискриминанта 3.7.1
формальная_ассоциация_пакета 12.7
ассоциация_обобщенного_типа 12.3
ассоциация_параметра 6.4
выбранный_компонент 4.1.3
список_выбора_компонентов 4.3.1
ассоциация_дискриминанта 3.7.1
формальная_ассоциация_пакета 12.7
ассоциация_обобщенного_типа 12.3
ассоциация_параметра 6.4
выбранный_компонент 4.1.3
последовательность_команд 5.1
прерывимая_часть 9.7.4
альтернатива_принятия 9.7.1
альтернатива_команды_case 5.4
условный_вызов_входа 9.7.3
альтернатива_задержки 9.7.1
альтернатива_вызова_входа 9.7.2
обработчик_исключений 11.2
обрабатываемая_последовательность_команд 11.2
команда_if 5.3
команда_цикла 5.5
выбор_принятия 9.7.1
триггерная_альтернатива 9.7.4
прерывимая_часть 9.7.4
альтернатива_принятия 9.7.1
альтернатива_команды_case 5.4
условный_вызов_входа 9.7.3
альтернатива_задержки 9.7.1
альтернатива_вызова_входа 9.7.2
обработчик_исключений 11.2
обрабатываемая_последовательность_команд 11.2
команда_if 5.3
команда_цикла 5.5
выбор_принятия 9.7.1
триггерная_альтернатива 9.7.4
простое_выражение 4.4
первый_бит 13.5.1
последний_бит 13.5.1
диапазон 3.5
спецификация_диапазона_вещественных_чисел 3.5.7
отношение 4.4
определение_типа_целого_числа_со_знаком 3.5.4
первый_бит 13.5.1
последний_бит 13.5.1
диапазон 3.5
спецификация_диапазона_вещественных_чисел 3.5.7
отношение 4.4
определение_типа_целого_числа_со_знаком 3.5.4
тело_подпрограммы 6.3
тело_единицы_библиотеки 10.1.1
собственное_тело 3.11
элемент_защищенной_операции 9.4
тело_единицы_библиотеки 10.1.1
собственное_тело 3.11
элемент_защищенной_операции 9.4
объявление_подпрограммы 6.1
базовое_объявление 3.1
объявление_единицы_библиотеки 10.1.1
объявление_защищенной_операции 9.4
элемент_защищенной_операции 9.4
базовое_объявление 3.1
объявление_единицы_библиотеки 10.1.1
объявление_защищенной_операции 9.4
элемент_защищенной_операции 9.4
по умолчанию_подпрограммы 12.6
формальное_абстрактное_объявление_подпрограммы 12.6
формальное_конкретное_объявление_подпрограммы 12.6
END_OF_DOCUMENT_MARKER формальное_абстрактное_объявление_подпрограммы 12.6
формальное_конкретное_объявление_подпрограммы 12.6
объявление_переименования_подпрограммы 8.5.4
объявление_переименования_единицы_библиотеки 10.1.1
объявление_переименования 8.5
объявление_переименования_единицы_библиотеки 10.1.1
объявление_переименования 8.5
спецификация_подпрограммы 6.1
объявление_абстрактной_подпрограммы 3.9.3
формальное_объявление_абстрактной_подпрограммы 12.6
формальное_объявление_конкретной_подпрограммы 12.6
объявление_подпрограммы_с_параметром_генеризации 12.1
тело_подпрограммы 6.3
заглушка_тела_подпрограммы 10.1.3
объявление_подпрограммы 6.1
объявление_переименования_подпрограммы 8.5.4
объявление_абстрактной_подпрограммы 3.9.3
формальное_объявление_абстрактной_подпрограммы 12.6
формальное_объявление_конкретной_подпрограммы 12.6
объявление_подпрограммы_с_параметром_генеризации 12.1
тело_подпрограммы 6.3
заглушка_тела_подпрограммы 10.1.3
объявление_подпрограммы 6.1
объявление_переименования_подпрограммы 8.5.4
указание_типа_подтипа 3.2.2
определение_доступа_к_объекту 3.10
аллокатор 4.8
определение_компонента 3.6
определение_производного_типа 3.4
дискретный_диапазон 3.6.1
определение_дискретного_подтипа 3.6
объявление_объекта 3.3.1
объявление_расширения_частного 7.3
указание_подтипа_возвращаемого_значения 6.5
объявление_типа_подтипа 3.2.2
определение_доступа_к_объекту 3.10
аллокатор 4.8
определение_компонента 3.6
определение_производного_типа 3.4
дискретный_диапазон 3.6.1
определение_дискретного_подтипа 3.6
объявление_объекта 3.3.1
объявление_расширения_частного 7.3
указание_подтипа_возвращаемого_значения 6.5
объявление_типа_подтипа 3.2.2
метка_подтипа 3.2.2
определение_доступа 3.10
часть_предка 4.3.2
спецификация_дискриминанта 3.7
явный_параметр_факта_генеризации 12.3
формальное_определение_производного_типа 12.5.1
формальное_объявление_объекта 12.4
определение_подтипа_индекса 3.6
список_интерфейсов 3.9.4
объявление_переименования_объекта 8.5.1
профиль_параметра_и_результата 6.1
спецификация_параметра 6.1
квалифицированное_выражение 4.7
отношение 4.4
указание_типа_подтипа 3.2.2
преобразование_типов 4.6
оператор_использования_типа 8.4
определение_доступа 3.10
часть_предка 4.3.2
спецификация_дискриминанта 3.7
явный_параметр_факта_генеризации 12.3
формальное_определение_производного_типа 12.5.1
формальное_объявление_объекта 12.4
определение_подтипа_индекса 3.6
список_интерфейсов 3.9.4
объявление_переименования_объекта 8.5.1
профиль_параметра_и_результата 6.1
спецификация_параметра 6.1
квалифицированное_выражение 4.7
отношение 4.4
указание_типа_подтипа 3.2.2
преобразование_типов 4.6
оператор_использования_типа 8.4
оператор_использования 8.4
основной_элемент_декларации 3.11
элемент_контекста 10.1.2
формальная_часть_обобщения 12.1
основной_элемент_декларации 3.11
элемент_контекста 10.1.2
формальная_часть_обобщения 12.1