Spec-Zone.ru › Ada 2012
Справочник по Ada 2012

Приложение P

(информативное)

Резюме синтаксиса

Это приложение содержит резюме полного синтаксиса языка. См. 1.1.4 для описания используемой нотации.
2.3:
идентификатор ::=
начало_идентификатора {начало_идентификатора | расширение_идентификатора}
2.3:
начало_идентификатора ::=
заглавная_буква
| строчная_буква
| буква_заглавной_регистрации
| модификатор_буквы
| другая_буква
| цифра_буква
2.3:
расширение_идентификатора ::=
неразрывный_знак
| соединяющий_знак_с_пробелом
| десятичная_цифра
| знак_пунктуации_соединения
2.4:
числовое_литерал ::= десятичное_литерал | литерал_с_основанием
2.4.1:
десятичное_литерал ::= цифра [.цифра] [экспонента]
2.4.1:
цифра ::= цифра {[подчеркивание] цифра}
2.4.1:
экспонента ::= E [+] цифра | E – цифра
2.4.1:
цифра ::= 0 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9
2.4.2:
литерал_с_основанием ::=
основание # число_с_основанием [.число_с_основанием] # [экспонента]
2.4.2:
основание ::= цифра
2.4.2:
число_с_основанием ::=
расширенная_цифра {[подчеркивание] расширенная_цифра}
2.4.2:
расширенная_цифра ::= цифра | A | B | C | D | E | F
2.5:
символьный_литерал ::= 'графический_символ'
2.6:
строковый_литерал ::= "{элемент_строки}"
2.6:
элемент_строки ::= "" | не_знак_цитаты_графический_символ
2.7:
комментарий ::= --{не_конец_строки_символ}
2.8:
директива ::=
pragma идентификатор [(ассоциация_аргумента_директивы {, ассоциация_аргумента_директивы})];
2.8:
ассоциация_аргумента_директивы ::=
[аргумент_директивы_идентификатор =>] имя
| [аргумент_директивы_идентификатор =>] выражение
| аргумент_директивы_метка_аспекта => имя
| аргумент_директивы_метка_аспекта => выражение
3.1:
базовое_объявление ::=
объявление_типа | объявление_подтипа
| объявление_объекта | объявление_числа
| объявление_подпрограммы | объявление_абстрактной_подпрограммы
| объявление_процедуры_null | объявление_функции_выражения
| объявление_пакета | объявление_переименования
| объявление_исключения | объявление_генерика
| инстанцирование_генерика
3.1:
определяющий_идентификатор ::= идентификатор
3.2.1:
объявление_типа ::= полное_объявление_типа
| неполное_объявление_типа
| объявление_частного_типа
| объявление_расширения_частного_типа
3.2.1:
полное_объявление_типа ::=
type определяющий_идентификатор [часть_дискриминанта] is определение_типа
[спецификация_аспекта];
| объявление_типа_задачи
| объявление_типа_защищённого_объекта
3.2.1:
определение_типа ::=
определение_типа_перечисления | определение_целочисленного_типа
| определение_вещественного_типа | определение_массива
| определение_записи | определение_типа_доступа
| определение_производного_типа | определение_интерфейсного_типа
3.2.2:
объявление_подтипа ::=
subtype определяющий_идентификатор is указание_подтипа
[спецификация_аспекта];
3.2.2:
указание_подтипа ::= [исключение_null] метка_подтипа [ограничение]
3.2.2:
метка_подтипа ::= подтип_имя
3.2.2:
ограничение ::= ограничение_скалярного_типа | ограничение_составного_типа
3.2.2:
ограничение_скалярного_типа ::=
ограничение_диапазона | ограничение_разрядов | ограничение_дельта
END_OF_DOCUMENT_MARKER
3.2.2:
composite_constraint ::=
index_constraint | discriminant_constraint
3.3.1:
object_declaration ::=
defining_identifier_list : [aliased] [constant] subtype_indication [:= expression]
[aspect_specification];
| defining_identifier_list : [aliased] [constant] access_definition [:= expression]
[aspect_specification];
| defining_identifier_list : [aliased] [constant] array_type_definition [:= expression]
[aspect_specification];
| single_task_declaration
| single_protected_declaration
3.3.1:
defining_identifier_list ::=
defining_identifier {, defining_identifier}
3.3.2:
number_declaration ::=
defining_identifier_list : constant := static_expression;
3.4:
derived_type_definition ::=
[abstract] [limited] new parent_subtype_indication [[and interface_list] record_extension_part]
3.5:
range_constraint ::= range range
3.5:
range ::= range_attribute_reference
| simple_expression .. simple_expression
3.5.1:
enumeration_type_definition ::=
(enumeration_literal_specification {, enumeration_literal_specification})
3.5.1:
enumeration_literal_specification ::= defining_identifier | defining_character_literal
3.5.1:
defining_character_literal ::= character_literal
3.5.4:
integer_type_definition ::= signed_integer_type_definition | modular_type_definition
3.5.4:
signed_integer_type_definition ::= range static_simple_expression .. static_simple_expression
3.5.4:
modular_type_definition ::= mod static_expression
3.5.6:
real_type_definition ::=
floating_point_definition | fixed_point_definition
3.5.7:
floating_point_definition ::=
digits static_expression [real_range_specification]
3.5.7:
real_range_specification ::=
range static_simple_expression .. static_simple_expression
3.5.9:
fixed_point_definition ::= ordinary_fixed_point_definition | decimal_fixed_point_definition
3.5.9:
ordinary_fixed_point_definition ::=
delta static_expression real_range_specification
3.5.9:
decimal_fixed_point_definition ::=
delta static_expression digits static_expression [real_range_specification]
3.5.9:
digits_constraint ::=
digits static_simple_expression [range_constraint]
3.6:
array_type_definition ::=
unconstrained_array_definition | constrained_array_definition
3.6:
unconstrained_array_definition ::=
array(index_subtype_definition {, index_subtype_definition}) of component_definition
3.6:
index_subtype_definition ::= subtype_mark range <>
3.6:
constrained_array_definition ::=
array (discrete_subtype_definition {, discrete_subtype_definition}) of component_definition
3.6:
discrete_subtype_definition ::= discrete_subtype_indication | range
3.6:
component_definition ::=
[aliased] subtype_indication
| [aliased] access_definition
3.6.1:
index_constraint ::= (discrete_range {, discrete_range})
3.6.1:
discrete_range ::= discrete_subtype_indication | range
3.7:
discriminant_part ::= unknown_discriminant_part | known_discriminant_part
3.7:
unknown_discriminant_part ::= (<>)
3.7:
known_discriminant_part ::=
(discriminant_specification {; discriminant_specification})
END_OF_DOCUMENT_MARKER
3.7:
discriminant_specification ::=
defining_identifier_list : [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
3.7:
default_expression ::= expression
3.7.1:
discriminant_constraint ::=
(discriminant_association {, discriminant_association})
3.7.1:
discriminant_association ::=
[дискриминант_selector_name {| дискриминант_selector_name} =>] expression
3.8:
record_type_definition ::= [[abstract] tagged] [limited] record_definition
3.8:
record_definition ::=
record
component_list
end record
| null record
3.8:
component_list ::=
component_item {component_item}
| {component_item} variant_part
| null;
3.8:
component_item ::= component_declaration | aspect_clause
3.8:
component_declaration ::=
defining_identifier_list : component_definition [:= default_expression]
[aspect_specification];
3.8.1:
variant_part ::=
case дискриминант_direct_name is
variant
{variant}
end case;
3.8.1:
variant ::=
when discrete_choice_list =>
component_list
3.8.1:
discrete_choice_list ::= discrete_choice {| discrete_choice}
3.8.1:
discrete_choice ::= choice_expression | дискретный_subtype_indication | range | others
3.9.1:
record_extension_part ::= with record_definition
3.9.3:
abstract_subprogram_declaration ::=
[overriding_indicator]
subprogram_specification is abstract
[aspect_specification];
3.9.4:
interface_type_definition ::=
[limited | task | protected | synchronized] interface [and interface_list]
3.9.4:
interface_list ::= интерфейс_subtype_mark {and интерфейс_subtype_mark}
3.10:
access_type_definition ::=
[null_exclusion] access_to_object_definition
| [null_exclusion] access_to_subprogram_definition
3.10:
access_to_object_definition ::=
access [general_access_modifier] subtype_indication
3.10:
general_access_modifier ::= all | constant
3.10:
access_to_subprogram_definition ::=
access [protected] procedure parameter_profile
| access [protected] function parameter_and_result_profile
3.10:
null_exclusion ::= not null
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
3.10.1:
incomplete_type_declaration ::= type defining_identifier [discriminant_part] [is tagged];
3.11:
declarative_part ::= {declarative_item}
3.11:
declarative_item ::=
basic_declarative_item | body
3.11:
basic_declarative_item ::=
basic_declaration | aspect_clause | use_clause
3.11:
body ::= proper_body | body_stub
3.11:
proper_body ::=
subprogram_body | package_body | task_body | protected_body
END_OF_DOCUMENT_MARKER
4.1:
name ::=
direct_name | explicit_dereference
| indexed_component | slice
| selected_component | attribute_reference
| type_conversion | function_call
| character_literal | qualified_expression
| generalized_reference | generalized_indexing
4.1:
direct_name ::= identifier | operator_symbol
4.1:
prefix ::= name | implicit_dereference
4.1:
explicit_dereference ::= name.all
4.1:
implicit_dereference ::= name
4.1.1:
indexed_component ::= prefix(expression {, expression})
4.1.2:
slice ::= prefix(discrete_range)
4.1.3:
selected_component ::= prefix . selector_name
4.1.3:
selector_name ::= identifier | character_literal | operator_symbol
4.1.4:
attribute_reference ::= prefix'attribute_designator
4.1.4:
attribute_designator ::=
identifier[(static_expression)]
| Access | Delta | Digits | Mod
4.1.4:
range_attribute_reference ::= prefix'range_attribute_designator
4.1.4:
range_attribute_designator ::= Range[(static_expression)]
4.1.5:
generalized_reference ::= reference_object_name
4.1.6:
generalized_indexing ::= indexable_container_object_prefix actual_parameter_part
4.3:
aggregate ::= record_aggregate | extension_aggregate | array_aggregate
4.3.1:
record_aggregate ::= (record_component_association_list)
4.3.1:
record_component_association_list ::=
record_component_association {, record_component_association}
| пустое запись
4.3.1:
record_component_association ::=
[component_choice_list =>] expression
| component_choice_list => <>
4.3.1:
component_choice_list ::=
компонент_selector_name {| компонент_selector_name}
| others
4.3.2:
extension_aggregate ::=
(ancestor_part с record_component_association_list)
4.3.2:
ancestor_part ::= expression | subtype_mark
4.3.3:
array_aggregate ::=
positional_array_aggregate | named_array_aggregate
4.3.3:
positional_array_aggregate ::=
(expression, expression {, expression})
| (expression {, expression}, others => expression)
| (expression {, expression}, others => <>)
4.3.3:
named_array_aggregate ::=
(array_component_association {, array_component_association})
4.3.3:
array_component_association ::=
discrete_choice_list => expression
| discrete_choice_list => <>
4.4:
expression ::=
relation {и relation} | relation {и затем relation}
| relation {или relation} | relation {или иначе relation}
| relation {исключительно relation}
4.4:
choice_expression ::=
choice_relation {и choice_relation}
| choice_relation {или choice_relation}
| choice_relation {исключительно choice_relation}
| choice_relation {и затем choice_relation}
| choice_relation {или иначе choice_relation}
END_OF_DOCUMENT_MARKER
4.4:
choice_relation ::=
simple_expression [relational_operator simple_expression]
4.4:
relation ::=
simple_expression [relational_operator simple_expression]
| проверяемое_simple_expression [не] в membership_choice_list
| raise_expression
4.4:
membership_choice_list ::= membership_choice {| membership_choice}
4.4:
membership_choice ::= выбор_simple_expression | range | subtype_mark
4.4:
simple_expression ::= [unary_adding_operator] term {binary_adding_operator term}
4.4:
term ::= factor {multiplying_operator factor}
4.4:
factor ::= primary [** primary] | abs primary | not primary
4.4:
primary ::=
numeric_literal | null | string_literal | aggregate
| name | allocator | (expression)
| (conditional_expression) | (quantified_expression)
4.5:
logical_operator ::= and | or | xor
4.5:
relational_operator ::= = | /= | < | <= | > | >=
4.5:
binary_adding_operator ::= + | – | &
4.5:
unary_adding_operator ::= + | –
4.5:
multiplying_operator ::= * | / | mod | rem
4.5:
highest_precedence_operator ::= ** | abs | not
4.5.7:
conditional_expression ::= if_expression | case_expression
4.5.7:
if_expression ::=
if condition then зависимое_expression
{elsif condition then зависимое_expression}
[else зависимое_expression]
4.5.7:
condition ::= логическое_expression
4.5.7:
case_expression ::=
case выбирающее_expression is
case_expression_alternative {,
case_expression_alternative}
4.5.7:
case_expression_alternative ::=
when discrete_choice_list =>
зависимое_expression
4.5.8:
quantified_expression ::= for quantifier loop_parameter_specification => predicate
| for quantifier iterator_specification => predicate
4.5.8:
quantifier ::= all | some
4.5.8:
predicate ::= логическое_expression
4.6:
type_conversion ::=
subtype_mark(expression)
| subtype_mark(name)
4.7:
qualified_expression ::=
subtype_mark'(expression) | subtype_mark'aggregate
4.8:
allocator ::=
new [subpool_specification] subtype_indication
| new [subpool_specification] qualified_expression
4.8:
subpool_specification ::= (подпул_обработчик_name)
5.1:
sequence_of_statements ::= statement {statement} {label}
5.1:
statement ::=
{label} simple_statement | {label} compound_statement
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
5.1:
compound_statement ::=
if_statement | case_statement
| loop_statement | block_statement
| extended_return_statement
| accept_statement | select_statement
5.1:
null_statement ::= null;
5.1:
label ::= <<label_statement_identifier>>
5.1:
statement_identifier ::= direct_name
5.2:
assignment_statement ::=
variable_name := expression;
5.3:
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 selecting_expression is
case_statement_alternative
{case_statement_alternative}
end case;
5.4:
case_statement_alternative ::=
when discrete_choice_list =>
sequence_of_statements
5.5:
loop_statement ::=
[loop_statement_identifier:]
[iteration_scheme] loop
sequence_of_statements
end loop [loop_identifier];
5.5:
iteration_scheme ::= while condition
| for loop_parameter_specification
| for iterator_specification
5.5:
loop_parameter_specification ::=
defining_identifier in [reverse] discrete_subtype_definition
5.5.2:
iterator_specification ::=
defining_identifier in [reverse] iterator_name
| defining_identifier [: subtype_indication] of [reverse] iterable_name
5.6:
block_statement ::=
[block_statement_identifier:]
[declare
declarative_part]
begin
handled_sequence_of_statements
end [block_identifier];
5.7:
exit_statement ::=
exit [loop_name] [when condition];
5.8:
goto_statement ::= goto label_name;
6.1:
subprogram_declaration ::=
[overriding_indicator]
subprogram_specification
[aspect_specification];
6.1:
subprogram_specification ::=
procedure_specification
| function_specification
6.1:
procedure_specification ::= procedure defining_program_unit_name parameter_profile
6.1:
function_specification ::= function defining_designator parameter_and_result_profile
6.1:
designator ::= [parent_unit_name . ]identifier | operator_symbol
6.1:
defining_designator ::= defining_program_unit_name | defining_operator_symbol
6.1:
defining_program_unit_name ::= [parent_unit_name . ]defining_identifier
6.1:
operator_symbol ::= string_literal
6.1:
defining_operator_symbol ::= operator_symbol
6.1:
parameter_profile ::= [formal_part]
6.1:
parameter_and_result_profile ::=
[formal_part] return [null_exclusion] subtype_mark
| [formal_part] return access_definition
6.1:
formal_part ::=
(parameter_specification {; parameter_specification})
6.1:
parameter_specification ::=
defining_identifier_list : [aliased] mode [null_exclusion] subtype_mark [:= default_expression]
| defining_identifier_list : access_definition [:= default_expression]
6.1:
mode ::= [in] | in out | out
END_OF_DOCUMENT_MARKER
6.3:
subprogram_body ::=
[overriding_indicator]
subprogram_specification
[aspect_specification] является
declarative_part
начало
handled_sequence_of_statements
конец [designator];
6.4:
procedure_call_statement ::=
procedure_name;
| procedure_prefix actual_parameter_part;
6.4:
function_call ::=
function_name
| function_prefix actual_parameter_part
6.4:
actual_parameter_part ::=
(parameter_association {, parameter_association})
6.4:
parameter_association ::=
[formal_parameter_selector_name =>] explicit_actual_parameter
6.4:
explicit_actual_parameter ::= expression | variable_name
6.5:
simple_return_statement ::= возврат [expression];
6.5:
extended_return_object_declaration ::=
defining_identifier : [алиасированный][константа] return_subtype_indication [:= expression]
6.5:
extended_return_statement ::=
возврат extended_return_object_declaration [do
handled_sequence_of_statements
конец возврат];
6.5:
return_subtype_indication ::= subtype_indication | access_definition
6.7:
null_procedure_declaration ::=
[overriding_indicator]
procedure_specification является null
[aspect_specification];
6.8:
expression_function_declaration ::=
[overriding_indicator]
function_specification является
(expression)
[aspect_specification];
| [overriding_indicator]
function_specification является
aggregate
[aspect_specification];
7.1:
package_declaration ::= package_specification;
7.1:
package_specification ::=
пакет defining_program_unit_name
[aspect_specification] является
{basic_declarative_item}
[private
{basic_declarative_item}]
конец [[parent_unit_name.]identifier]
7.2:
package_body ::=
пакет тело defining_program_unit_name
[aspect_specification] является
declarative_part
[начало
handled_sequence_of_statements]
конец [[parent_unit_name.]identifier];
7.3:
private_type_declaration ::=
тип defining_identifier [discriminant_part] является [[абстрактный] tagged] [ограниченный] private
[aspect_specification];
7.3:
private_extension_declaration ::=
тип defining_identifier [discriminant_part] является
[абстрактный] [ограниченный | синхронизированный] новый предок_subtype_indication
[и interface_list] с private
[aspect_specification];
8.3.1:
overriding_indicator ::= [не] переопределяя
8.4:
use_clause ::= use_package_clause | use_type_clause
8.4:
use_package_clause ::= использовать пакет_name {, пакет_name};
8.4:
use_type_clause ::= использовать [все] тип subtype_mark {, subtype_mark};
8.5:
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 переименовывает объект_name
[aspect_specification];
| defining_identifier : access_definition переименовывает объект_name
[aspect_specification];
8.5.2:
exception_renaming_declaration ::= defining_identifier : исключение переименовывает исключение_name
[aspect_specification];
END_OF_DOCUMENT_MARKER ```
8.5.3:
package_renaming_declaration ::= package defining_program_unit_name renames package_name
[aspect_specification];
8.5.4:
subprogram_renaming_declaration ::=
[overriding_indicator]
subprogram_specification renames callable_entity_name
[aspect_specification];
8.5.5:
generic_renaming_declaration ::=
generic package defining_program_unit_name renames generic_package_name
[aspect_specification];
| generic procedure defining_program_unit_name renames generic_procedure_name
[aspect_specification];
| generic function defining_program_unit_name renames generic_function_name
[aspect_specification];
9.1:
task_type_declaration ::=
task type defining_identifier [known_discriminant_part]
[aspect_specification] [is
[new interface_list with]
task_definition];
9.1:
single_task_declaration ::=
task defining_identifier
[aspect_specification][is
[new interface_list with]
task_definition];
9.1:
task_definition ::=
{task_item}
[ private
{task_item}]
end [task_identifier]
9.1:
task_item ::= entry_declaration | aspect_clause
9.1:
task_body ::=
task body defining_identifier
[aspect_specification] is
declarative_part
begin
handled_sequence_of_statements
end [task_identifier];
9.4:
protected_type_declaration ::=
protected type defining_identifier [known_discriminant_part]
[aspect_specification] is
[new interface_list with]
protected_definition;
9.4:
single_protected_declaration ::=
protected defining_identifier
[aspect_specification] is
[new interface_list with]
protected_definition;
9.4:
protected_definition ::=
{ protected_operation_declaration }
[ private
{ protected_element_declaration } ]
end [protected_identifier]
9.4:
protected_operation_declaration ::= subprogram_declaration
| entry_declaration
| aspect_clause
9.4:
protected_element_declaration ::= protected_operation_declaration
| component_declaration
9.4:
protected_body ::=
protected body defining_identifier
[aspect_specification] is
{ protected_operation_item }
end [protected_identifier];
9.4:
protected_operation_item ::= subprogram_declaration
| subprogram_body
| null_procedure_declaration
| expression_function_declaration
| entry_body
| aspect_clause
9.5:
synchronization_kind ::= By_Entry | By_Protected_Procedure | Optional
9.5.2:
entry_declaration ::=
[overriding_indicator]
entry defining_identifier [(discrete_subtype_definition)] parameter_profile
[aspect_specification];
9.5.2:
accept_statement ::=
accept entry_direct_name [(entry_index)] parameter_profile [do
handled_sequence_of_statements
end [entry_identifier]];
9.5.2:
entry_index ::= expression
9.5.2:
entry_body ::=
entry defining_identifier entry_body_formal_part entry_barrier is
declarative_part
begin
handled_sequence_of_statements
end [entry_identifier];
9.5.2:
entry_body_formal_part ::= [(entry_index_specification)] parameter_profile
9.5.2:
entry_barrier ::= when condition
9.5.2:
entry_index_specification ::= for defining_identifier in discrete_subtype_definition
END_OF_DOCUMENT_MARKER
9.5.3:
entry_call_statement ::= entry_name [actual_parameter_part];
9.5.4:
requeue_statement ::= requeue procedure_or_entry_name [with abort];
9.6:
delay_statement ::= delay_until_statement | delay_relative_statement
9.6:
delay_until_statement ::= delay until delay_expression;
9.6:
delay_relative_statement ::= delay delay_expression;
9.7:
select_statement ::=
selective_accept
| timed_entry_call
| conditional_entry_call
| asynchronous_select
9.7.1:
selective_accept ::=
select
[guard]
select_alternative
{ or
[guard]
select_alternative }
[ else
sequence_of_statements ]
end select;
9.7.1:
guard ::= when condition =>
9.7.1:
select_alternative ::=
accept_alternative
| delay_alternative
| terminate_alternative
9.7.1:
accept_alternative ::=
accept_statement [sequence_of_statements]
9.7.1:
delay_alternative ::=
delay_statement [sequence_of_statements]
9.7.1:
terminate_alternative ::= terminate;
9.7.2:
timed_entry_call ::=
select
entry_call_alternative
or
delay_alternative
end select;
9.7.2:
entry_call_alternative ::=
procedure_or_entry_call [sequence_of_statements]
9.7.2:
procedure_or_entry_call ::=
procedure_call_statement | entry_call_statement
9.7.3:
conditional_entry_call ::=
select
entry_call_alternative
else
sequence_of_statements
end select;
9.7.4:
asynchronous_select ::=
select
triggering_alternative
then abort
abortable_part
end select;
9.7.4:
triggering_alternative ::= triggering_statement [sequence_of_statements]
9.7.4:
triggering_statement ::= procedure_or_entry_call | delay_statement
9.7.4:
abortable_part ::= sequence_of_statements
9.8:
abort_statement ::= abort task_name {, task_name};
10.1.1:
compilation ::= {compilation_unit}
10.1.1:
compilation_unit ::=
context_clause library_item
| context_clause subunit
10.1.1:
library_item ::= [private] library_unit_declaration
| library_unit_body
| [private] library_unit_renaming_declaration
10.1.1:
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
10.1.1:
library_unit_body ::= subprogram_body | package_body
10.1.1:
parent_unit_name ::= name
10.1.2:
context_clause ::= {context_item}
10.1.2:
context_item ::= with_clause | use_clause
10.1.2:
with_clause ::= limited_with_clause | nonlimited_with_clause
10.1.2:
limited_with_clause ::= limited [private] with library_unit_name {, library_unit_name};
10.1.2:
nonlimited_with_clause ::= [private] with library_unit_name {, library_unit_name};
10.1.3:
body_stub ::= subprogram_body_stub | package_body_stub | task_body_stub | protected_body_stub
END_OF_DOCUMENT_MARKER
10.1.3:
subprogram_body_stub ::=
[overriding_indicator]
subprogram_specification является отдельным
[aspect_specification];
10.1.3:
package_body_stub ::=
пакет тела defining_identifier является отдельным
[aspect_specification];
10.1.3:
task_body_stub ::=
задача тела defining_identifier является отдельным
[aspect_specification];
10.1.3:
protected_body_stub ::=
защищенный тело defining_identifier является отдельным
[aspect_specification];
10.1.3:
subunit ::= отдельно (parent_unit_name) proper_body
11.1:
exception_declaration ::= defining_identifier_list : исключение
[aspect_specification];
11.2:
handled_sequence_of_statements ::=
sequence_of_statements
[исключение
exception_handler
{exception_handler}]
11.2:
exception_handler ::=
when [choice_parameter_specification:] exception_choice {| exception_choice} =>
sequence_of_statements
11.2:
choice_parameter_specification ::= defining_identifier
11.2:
exception_choice ::= исключение_имя | другие
11.3:
raise_statement ::= поднять;
| поднять исключение_имя [с строка_выражение];
11.3:
raise_expression ::= поднять исключение_имя [с строка_простое_выражение]
12.1:
generic_declaration ::= generic_subprogram_declaration | generic_package_declaration
12.1:
generic_subprogram_declaration ::=
generic_formal_part subprogram_specification
[aspect_specification];
12.1:
generic_package_declaration ::=
generic_formal_part package_specification;
12.1:
generic_formal_part ::= generic {generic_formal_parameter_declaration | use_clause}
12.1:
generic_formal_parameter_declaration ::=
formal_object_declaration
| formal_type_declaration
| formal_subprogram_declaration
| formal_package_declaration
12.3:
generic_instantiation ::=
пакет defining_program_unit_name является
new generic_package_имя [generic_actual_part]
[aspect_specification];
| [overriding_indicator]
процедура defining_program_unit_name является
new generic_procedure_имя [generic_actual_part]
[aspect_specification];
| [overriding_indicator]
функция defining_designator является
new generic_function_имя [generic_actual_part]
[aspect_specification];
12.3:
generic_actual_part ::=
(generic_association {, generic_association})
12.3:
generic_association ::=
[generic_formal_parameter_selector_name =>] explicit_generic_actual_parameter
12.3:
explicit_generic_actual_parameter ::= выражение | переменная_имя
| подпрограмма_имя | вход_имя | subtype_mark
| пакет_экземпляра_имя
12.4:
formal_object_declaration ::=
defining_identifier_list : mode [null_exclusion] subtype_mark [:= default_expression]
[aspect_specification];
| defining_identifier_list : mode access_definition [:= default_expression]
[aspect_specification];
12.5:
formal_type_declaration ::=
formal_complete_type_declaration
| formal_incomplete_type_declaration
12.5:
formal_complete_type_declaration ::=
тип defining_identifier[discriminant_part] является formal_type_definition
[aspect_specification];
12.5:
formal_incomplete_type_declaration ::=
тип defining_identifier[discriminant_part] [is tagged];
END_OF_DOCUMENT_MARKER
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
12.5.1:
formal_private_type_definition ::= [[abstract] tagged] [limited] private
12.5.1:
formal_derived_type_definition ::=
[abstract] [limited | synchronized] new subtype_mark [[and interface_list]with private]
12.5.2:
formal_discrete_type_definition ::= (<>)
12.5.2:
formal_signed_integer_type_definition ::= range <>
12.5.2:
formal_modular_type_definition ::= mod <>
12.5.2:
formal_floating_point_definition ::= digits <>
12.5.2:
formal_ordinary_fixed_point_definition ::= delta <>
12.5.2:
formal_decimal_fixed_point_definition ::= delta <> digits <>
12.5.3:
formal_array_type_definition ::= array_type_definition
12.5.4:
formal_access_type_definition ::= access_type_definition
12.5.5:
formal_interface_type_definition ::= interface_type_definition
12.6:
formal_subprogram_declaration ::= formal_concrete_subprogram_declaration
| formal_abstract_subprogram_declaration
12.6:
formal_concrete_subprogram_declaration ::=
with subprogram_specification [is subprogram_default]
[aspect_specification];
12.6:
formal_abstract_subprogram_declaration ::=
with subprogram_specification is abstract [subprogram_default]
[aspect_specification];
12.6:
subprogram_default ::= default_name | <> | null
12.6:
default_name ::= name
12.7:
formal_package_declaration ::=
with package defining_identifier is new generic_package_name formal_package_actual_part
[aspect_specification];
12.7:
formal_package_actual_part ::=
([others =>] <>)
| [generic_actual_part]
| (formal_package_association {, formal_package_association} [, others => <>])
12.7:
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
13.1:
local_name ::= direct_name
| direct_name'attribute_designator
| library_unit_name
13.1.1:
aspect_specification ::=
with aspect_mark [=> aspect_definition] {,
aspect_mark [=> aspect_definition] }
13.1.1:
aspect_mark ::= aspect_identifier['Class]
13.1.1:
aspect_definition ::= name | expression | identifier
13.3:
attribute_definition_clause ::=
for local_name'attribute_designator use expression;
| for local_name'attribute_designator use name;
13.4:
enumeration_representation_clause ::=
for first_subtype_local_name use enumeration_aggregate;
13.4:
enumeration_aggregate ::= array_aggregate
13.5.1:
record_representation_clause ::=
for first_subtype_local_name use
record [mod_clause]
{component_clause}
end record;
13.5.1:
component_clause ::=
component_local_name at position range first_bit .. last_bit;
13.5.1:
position ::= static_expression
13.5.1:
first_bit ::= static_simple_expression
END_OF_DOCUMENT_MARKER
13.5.1:
last_bit ::= static_simple_expression
13.8:
code_statement ::= qualified_expression;
13.11.3:
storage_pool_indicator ::= storage_pool_name | null | Standard
13.12:
restriction ::= restriction_identifier
| restriction_parameter_identifier => restriction_parameter_argument
13.12:
restriction_parameter_argument ::= name | expression
J.3:
delta_constraint ::= delta static_simple_expression [range_constraint]
J.7:
at_clause ::= for direct_name use at expression;
J.8:
mod_clause ::= at mod static_expression;

Справочное руководство Ada 2012

В следующем синтаксическом перекрестном ссылочном списке каждая синтаксическая категория сопровождается номером подпункта, где она определена. Кроме того, каждая синтаксическая категория S сопровождается списком категорий, использующих S в своих определениях. Например, первый список ниже показывает, что abort_statement встречается в определении simple_statement.
abort_statement 9.8
simple_statement 5.1
abortable_part 9.7.4
asynchronous_select 9.7.4
abstract_subprogram_declaration 3.9.3
basic_declaration 3.1
accept_alternative 9.7.1
select_alternative 9.7.1
accept_statement 9.5.2
accept_alternative 9.7.1
compound_statement 5.1
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
access_to_object_definition 3.10
access_type_definition 3.10
access_to_subprogram_definition 3.10
access_type_definition 3.10
access_type_definition 3.10
formal_access_type_definition 12.5.4
type_definition 3.2.1
actual_parameter_part 6.4
entry_call_statement 9.5.3
function_call 6.4
generalized_indexing 4.1.6
procedure_call_statement 6.4
aggregate 4.3
expression_function_declaration 6.8
primary 4.4
qualified_expression 4.7
allocator 4.8
primary 4.4
ancestor_part 4.3.2
extension_aggregate 4.3.2
array_aggregate 4.3.3
aggregate 4.3
enumeration_aggregate 13.4
array_component_association 4.3.3
named_array_aggregate 4.3.3
array_type_definition 3.6
formal_array_type_definition 12.5.3
object_declaration 3.3.1
type_definition 3.2.1
aspect_clause 13.1
basic_declarative_item 3.11
component_item 3.8
protected_operation_declaration 9.4
protected_operation_item 9.4
task_item 9.1
aspect_definition 13.1.1
aspect_specification 13.1.1
END_OF_DOCUMENT_MARKER
aspect_mark 13.1.1
aspect_specification 13.1.1
pragma_argument_association 2.8
aspect_specification 13.1.1
abstract_subprogram_declaration 3.9.3
component_declaration 3.8
entry_declaration 9.5.2
exception_declaration 11.1
exception_renaming_declaration 8.5.2
expression_function_declaration 6.8
formal_abstract_subprogram_declaration 12.6
formal_complete_type_declaration 12.5
formal_concrete_subprogram_declaration 12.6
formal_object_declaration 12.4
formal_package_declaration 12.7
full_type_declaration 3.2.1
generic_instantiation 12.3
generic_renaming_declaration 8.5.5
generic_subprogram_declaration 12.1
null_procedure_declaration 6.7
object_declaration 3.3.1
object_renaming_declaration 8.5.1
package_body 7.2
package_body_stub 10.1.3
package_renaming_declaration 8.5.3
package_specification 7.1
private_extension_declaration 7.3
private_type_declaration 7.3
protected_body 9.4
protected_body_stub 10.1.3
protected_type_declaration 9.4
single_protected_declaration 9.4
single_task_declaration 9.1
subprogram_body 6.3
subprogram_body_stub 10.1.3
subprogram_declaration 6.1
subprogram_renaming_declaration 8.5.4
subtype_declaration 3.2.2
task_body 9.1
task_body_stub 10.1.3
task_type_declaration 9.1
assignment_statement 5.2
simple_statement 5.1
asynchronous_select 9.7.4
select_statement 9.7
at_clause J.7
aspect_clause 13.1
attribute_definition_clause 13.3
aspect_clause 13.1
attribute_designator 4.1.4
attribute_definition_clause 13.3
attribute_reference 4.1.4
local_name 13.1
attribute_reference 4.1.4
name 4.1
base 2.4.2
based_literal 2.4.2
based_literal 2.4.2
numeric_literal 2.4
based_numeral 2.4.2
based_literal 2.4.2
basic_declaration 3.1
basic_declarative_item 3.11
basic_declarative_item 3.11
declarative_item 3.11
package_specification 7.1
binary_adding_operator 4.5
simple_expression 4.4
block_statement 5.6
compound_statement 5.1
body 3.11
declarative_item 3.11
body_stub 10.1.3
body 3.11
case_expression 4.5.7
conditional_expression 4.5.7
END_OF_DOCUMENT_MARKER
вариант_выражения_case 4.5.7
выражение_case 4.5.7
выражение_case 5.4
составное_выражение 5.1
вариант_выражения_case 5.4
выражение_case 5.4
символ 2.1
комментарий 2.7
литерал_символа 2.5
определение_литерала_символа 3.5.1
имя 4.1
имя_селектора 4.1.3
выражение_выбора 4.4
дискретный_выбор 3.8.1
спецификация_параметра_выбора 11.2
обработчик_исключений 11.2
отношение_выбора 4.4
выражение_выбора 4.4
выражение_кода 13.8
простое_выражение 5.1
единица_компиляции 10.1.1
компиляция 10.1.1
список_выбора_компонентов 4.3.1
связь_компонента_записи 4.3.1
определение_клауза 13.5.1
клауза_представления_записи 13.5.1
объявление_компонента 3.8
элемент_компонента 3.8
объявление_защищённого_элемента 9.4
определение_компонента 3.6
объявление_компонента 3.8
определение_массива_с_ограничениями 3.6
определение_массива_без_ограничений 3.6
элемент_компонента 3.8
список_компонентов 3.8
список_компонентов 3.8
определение_записи 3.8
вариант 3.8.1
составное_ограничение 3.2.2
ограничение 3.2.2
составное_выражение 5.1
выражение 5.1
условие 4.5.7
барьер_входа 9.5.2
выражение_выхода 5.7
сторож 9.7.1
условное_выражение 4.5.7
условное_выражение 5.3
схема_итерации 5.5
условный_вызов_входа 9.7.3
выражение_select 9.7
условное_выражение 4.5.7
основной_элемент 4.4
определение_массива_с_ограничениями 3.6
определение_типа_массива 3.6
ограничение 3.2.2
указание_подтипа 3.2.2
клауза_контекста 10.1.2
единица_компиляции 10.1.1
элемент_контекста 10.1.2
клауза_контекста 10.1.2
определение_десятичного_фиксированной_точки 3.5.9
определение_фиксированной_точки 3.5.9
десятичная_литераль 2.4.1
числовая_литераль 2.4
элемент_объявления 3.11
часть_объявления 3.11
часть_объявления 3.11
выражение_блока 5.6
тело_входа 9.5.2
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
END_OF_DOCUMENT_MARKER
default_expression 3.7
component_declaration 3.8
discriminant_specification 3.7
formal_object_declaration 12.4
parameter_specification 6.1
default_name 12.6
subprogram_default 12.6
defining_character_literal 3.5.1
enumeration_literal_specification 3.5.1
defining_designator 6.1
function_specification 6.1
generic_instantiation 12.3
defining_identifier 3.1
choice_parameter_specification 11.2
defining_identifier_list 3.3.1
defining_program_unit_name 6.1
entry_body 9.5.2
entry_declaration 9.5.2
entry_index_specification 9.5.2
enumeration_literal_specification 3.5.1
exception_renaming_declaration 8.5.2
extended_return_object_declaration 6.5
formal_complete_type_declaration 12.5
formal_incomplete_type_declaration 12.5
formal_package_declaration 12.7
full_type_declaration 3.2.1
incomplete_type_declaration 3.10.1
iterator_specification 5.5.2
loop_parameter_specification 5.5
object_renaming_declaration 8.5.1
package_body_stub 10.1.3
private_extension_declaration 7.3
private_type_declaration 7.3
protected_body 9.4
protected_body_stub 10.1.3
protected_type_declaration 9.4
single_protected_declaration 9.4
single_task_declaration 9.1
subtype_declaration 3.2.2
task_body 9.1
task_body_stub 10.1.3
task_type_declaration 9.1
defining_identifier_list 3.3.1
component_declaration 3.8
discriminant_specification 3.7
exception_declaration 11.1
formal_object_declaration 12.4
number_declaration 3.3.2
object_declaration 3.3.1
parameter_specification 6.1
defining_operator_symbol 6.1
defining_designator 6.1
defining_program_unit_name 6.1
defining_designator 6.1
generic_instantiation 12.3
generic_renaming_declaration 8.5.5
package_body 7.2
package_renaming_declaration 8.5.3
package_specification 7.1
procedure_specification 6.1
delay_alternative 9.7.1
select_alternative 9.7.1
timed_entry_call 9.7.2
delay_relative_statement 9.6
delay_statement 9.6
delay_statement 9.6
delay_alternative 9.7.1
simple_statement 5.1
triggering_statement 9.7.4
delay_until_statement 9.6
delay_statement 9.6
delta_constraint J.3
scalar_constraint 3.2.2
derived_type_definition 3.4
type_definition 3.2.1
designator 6.1
subprogram_body 6.3
END_OF_DOCUMENT_MARKER
digit 2.4.1
extended_digit 2.4.2
numeral 2.4.1
digits_constraint 3.5.9
scalar_constraint 3.2.2
direct_name 4.1
accept_statement 9.5.2
at_clause J.7
local_name 13.1
name 4.1
statement_identifier 5.1
variant_part 3.8.1
discrete_choice 3.8.1
discrete_choice_list 3.8.1
discrete_choice_list 3.8.1
array_component_association 4.3.3
case_expression_alternative 4.5.7
case_statement_alternative 5.4
variant 3.8.1
discrete_range 3.6.1
index_constraint 3.6.1
slice 4.1.2
discrete_subtype_definition 3.6
constrained_array_definition 3.6
entry_declaration 9.5.2
entry_index_specification 9.5.2
loop_parameter_specification 5.5
discriminant_association 3.7.1
discriminant_constraint 3.7.1
discriminant_constraint 3.7.1
composite_constraint 3.2.2
discriminant_part 3.7
formal_complete_type_declaration 12.5
formal_incomplete_type_declaration 12.5
incomplete_type_declaration 3.10.1
private_extension_declaration 7.3
private_type_declaration 7.3
discriminant_specification 3.7
known_discriminant_part 3.7
entry_barrier 9.5.2
entry_body 9.5.2
entry_body 9.5.2
protected_operation_item 9.4
entry_body_formal_part 9.5.2
entry_body 9.5.2
вызов_входа_альтернативный 9.7.2
условный_вызов_входа 9.7.3
вызов_входа_с_временным_ограничением 9.7.2
оператор_вызова_входа 9.5.3
вызов_процедуры_или_входа 9.7.2
простой_оператор 5.1
объявление_входа 9.5.2
объявление_защищённой_операции 9.4
элемент_задачи 9.1
индекс_входа 9.5.2
оператор_приёма 9.5.2
спецификация_индекса_входа 9.5.2
формальная_часть_тела_входа 9.5.2
агрегат_перечисления 13.4
определение_представления_перечисления 13.4
спецификация_литерала_перечисления 3.5.1
определение_типа_перечисления 3.5.1
определение_представления_перечисления 13.4
оператор_аспекта 13.1
определение_типа_перечисления 3.5.1
определение_типа 3.2.1
выбор_исключения 11.2
обработчик_исключения 11.2
объявление_исключения 11.1
базовое_объявление 3.1
обработчик_исключения 11.2
последовательность_обрабатываемых_операторов 11.2
объявление_переименования_исключения 8.5.2
объявление_переименования 8.5
END_OF_DOCUMENT_MARKER
выходная_инструкция 5.7
простая_инструкция 5.1
явный_фактический_параметр 6.4
ассоциация_параметров 6.4
явное_разъяснение 4.1
имя 4.1
явный_фактический_параметр_обобщения 12.3
ассоциация_обобщения 12.3
порядок 2.4.1
литерал_на_основе 2.4.2
десятичная_литерал 2.4.1
выражение 4.4
часть_предка 4.3.2
ассоциация_компонента_массива 4.3.3
определение_аспекта 13.1.1
инструкция_присваивания 5.2
оператор_at J.7
оператор_определения_атрибута 13.3
обозначение_атрибута 4.1.4
выражение_case 4.5.7
альтернатива_выражения_case 4.5.7
инструкция_case 5.4
условие 4.5.7
определение_десятичного_числа_с_плавающей_точкой 3.5.9
выражение_по_умолчанию 3.7
инструкция_отсроченного_относительного_замедления 9.6
инструкция_отсроченного_замедления_до_момента 9.6
ассоциация_дискриминанта 3.7.1
индекс_входа 9.5.2
явный_фактический_параметр 6.4
явный_фактический_параметр_обобщения 12.3
объявление_функции_выражения 6.8
расширенное_объявление_возвращаемого_объекта 6.5
определение_числа_с_плавающей_точкой 3.5.7
выражение_if 4.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
ассоциация_аргументов_псевдонима 2.8
предикат 4.5.8
основа 4.4
квалифицированное_выражение 4.7
инструкция_raise 11.3
обозначение_атрибута_диапазона 4.1.4
ассоциация_компонента_записи 4.3.1
аргумент_параметра_ограничения 13.12
простая_инструкция_возврата 6.5
преобразование_типов 4.6
объявление_функции_выражения 6.8
основное_объявление 3.1
элемент_защищенной_операции 9.4
расширенная_цифра 2.4.2
число_по_основе 2.4.2
расширенное_объявление_возвращаемого_объекта 6.5
расширенная_инструкция_возврата 6.5
расширенная_инструкция_возврата 6.5
составная_инструкция 5.1
агрегированная_расширенная_структура 4.3.2
агрегированная_структура 4.3
множитель 4.4
член 4.4
первый_бит 13.5.1
оператор_компонента 13.5.1
определение_числа_с_фиксированной_точкой 3.5.9
определение_типа_вещественного 3.5.6
определение_числа_с_плавающей_точкой 3.5.7
определение_типа_вещественного 3.5.6
объявление_формального_абстрактного_подпрограммы 12.6
объявление_формальной_подпрограммы 12.6
определение_формального_типа_с_доступом 12.5.4
определение_формального_типа 12.5
END_OF_DOCUMENT_MARKER
определение_типа_массива_формальное 12.5.3
формальное_определение_типа 12.5
формальное_объявление_полного_типа 12.5
формальное_объявление_типа 12.5
формальное_объявление_подпрограммы_конкретной 12.6
формальное_объявление_подпрограммы 12.6
формальное_определение_десятичного_фиксированной_точки 12.5.2
формальное_определение_типа 12.5
формальное_определение_производного_типа 12.5.1
формальное_определение_типа 12.5
формальное_определение_дискретного_типа 12.5.2
формальное_определение_типа 12.5
формальное_определение_плавающей_точки 12.5.2
формальное_определение_типа 12.5
формальное_объявление_неполного_типа 12.5
формальное_объявление_типа 12.5
формальное_определение_типа_интерфейса 12.5.5
формальное_определение_типа 12.5
формальное_определение_модульного_типа 12.5.2
формальное_определение_типа 12.5
формальное_объявление_объекта 12.4
формальное_объявление_параметра_в_роли_генератора 12.1
формальное_определение_обычной_фиксированной_точки 12.5.2
формальное_определение_типа 12.5
формальная_часть_фактических_параметров_пакета 12.7
формальное_объявление_пакета 12.7
формальное_связывание_пакета 12.7
формальная_часть_фактических_параметров_пакета 12.7
формальное_объявление_пакета 12.7
формальное_объявление_параметра_в_роли_генератора 12.1
формальная_часть 6.1
профиль_параметра_и_результата 6.1
профиль_параметра 6.1
формальное_определение_приватного_типа 12.5.1
формальное_определение_типа 12.5
формальное_определение_типа_целого_со_знаком 12.5.2
формальное_определение_типа 12.5
формальное_объявление_подпрограммы 12.6
формальное_объявление_параметра_в_роли_генератора 12.1
формальное_объявление_типа 12.5
формальное_объявление_параметра_в_роли_генератора 12.1
формальное_определение_типа 12.5
формальное_объявление_полного_типа 12.5
полное_объявление_типа 3.2.1
объявление_типа 3.2.1
вызов_функции 6.4
имя 4.1
спецификация_функции 6.1
объявление_функции_выражения 6.8
спецификация_подпрограммы 6.1
модификатор_общего_доступа 3.10
доступ_к_объекту_определение 3.10
обобщенная_индексация 4.1.6
имя 4.1
обобщенная_ссылка 4.1.5
имя 4.1
фактическая_часть_генератора 12.3
формальная_часть_фактических_параметров_пакета 12.7
инстанцирование_генератора 12.3
связывание_генератора 12.3
формальное_связывание_пакета 12.7
фактическая_часть_генератора 12.3
объявление_генератора 12.1
базовое_объявление 3.1
объявление_блока_библиотеки 10.1.1
формальное_объявление_параметра_в_роли_генератора 12.1
формальная_часть_генератора 12.1
формальная_часть_генератора 12.1
объявление_пакета_генератора 12.1
объявление_подпрограммы_генератора 12.1
END_OF_DOCUMENT_MARKER
обобщённая_инстанциация 12.3
основное_объявление 3.1
объявление_единицы_библиотеки 10.1.1
объявление_обобщённого_пакета 12.1
объявление_обобщения 12.1
объявление_переименования_обобщения 8.5.5
объявление_переименования_единицы_библиотеки 10.1.1
объявление_переименования 8.5
объявление_обобщённой_подпрограммы 12.1
объявление_обобщения 12.1
оператор_goto 5.8
простой_оператор 5.1
графический_символ 2.1
литерал_символа 2.5
элемент_строки 2.6
защита 9.7.1
выборочный_приём 9.7.1
обработанная_последовательность_операторов 11.2
оператор_приёма 9.5.2
оператор_блока 5.6
тело_входной_точки 9.5.2
расширенный_оператор_возврата 6.5
тело_пакета 7.2
тело_подпрограммы 6.3
тело_задачи 9.1
идентификатор 2.3
оператор_приёма 9.5.2
определение_аспекта 13.1.1
метка_аспекта 13.1.1
обозначитель_атрибута 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
расширение_идентификатора 2.3
идентификатор 2.3
начало_идентификатора 2.3
идентификатор 2.3
выражение_if 4.5.7
условное_выражение 4.5.7
оператор_if 5.3
составной_оператор 5.1
неявная_дериференция 4.1
префикс 4.1
объявление_неполного_типа 3.10.1
объявление_типа 3.2.1
ограничение_индекса 3.6.1
составное_ограничение 3.2.2
определение_подтипа_индекса 3.6
определение_массива_без_ограничений 3.6
индексированный_компонент 4.1.1
имя 4.1
определение_целочисленного_типа 3.5.4
определение_типа 3.2.1
список_интерфейсов 3.9.4
определение_производного_типа 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
схема_итерации 5.5
оператор_цикла 5.5
спецификация_итератора 5.5.2
схема_итерации 5.5
квантифицированное_выражение 4.5.8
известная_часть_дискриминанта 3.7
часть_дискриминанта 3.7
полное_объявление_типа 3.2.1
защищенное_объявление_типа 9.4
объявление_типа_задачи 9.1
метка 5.1
последовательность_операторов 5.1
оператор 5.1
последний_бит 13.5.1
описание_компонента 13.5.1
маленькая_буква ...
начало_идентификатора 2.3
модификатор_буквы ...
начало_идентификатора 2.3
другая_буква ...
начало_идентификатора 2.3
заглавная_буква ...
начало_идентификатора 2.3
большая_буква ...
начало_идентификатора 2.3
элемент_библиотеки 10.1.1
единица_компиляции 10.1.1
тело_единицы_библиотеки 10.1.1
элемент_библиотеки 10.1.1
объявление_единицы_библиотеки 10.1.1
элемент_библиотеки 10.1.1
переименовывающее_объявление_единицы_библиотеки 10.1.1
элемент_библиотеки 10.1.1
ограниченное_с_оклаузом 10.1.2
оператор_с_оклаузом 10.1.2
локальное_имя 13.1
описание_определения_атрибута 13.3
описание_компонента 13.5.1
описание_представления_перечисления 13.4
описание_представления_записи 13.5.1
спецификация_параметра_цикла 5.5
схема_итерации 5.5
квантифицированное_выражение 4.5.8
оператор_цикла 5.5
составной_оператор 5.1
неразрывный_знак ...
расширение_идентификатора 2.3
знак_соединения_пробела ...
расширение_идентификатора 2.3
выбор_членства 4.4
список_выбора_членства 4.4
список_выбора_членства 4.4
отношение 4.4
оператор_мод J.8
описание_представления_записи 13.5.1
режим 6.1
формальное_объявление_объекта 12.4
спецификация_параметра 6.1
модульное_определение_типа 3.5.4
определение_целочисленного_типа 3.5.4
умножение_оператор 4.5
член 4.4
END_OF_DOCUMENT_MARKER
имя 4.1
выражение_прерывания 9.8
определение_аспекта 13.1.1
выражение_присваивания 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
обобщенная_ссылка 4.1.5
инстанцирование_обобщенного_типа 12.3
объявление_переименования_обобщенного_типа 8.5.5
выражение_перехода 5.8
неявное_разыменование 4.1
спецификация_итератора 5.5.2
оператор_ограничения_с_определением_связи 10.1.2
локальное_имя 13.1
оператор_с_определением_связи_без_ограничения 10.1.2
объявление_переименования_объекта 8.5.1
объявление_переименования_пакета 8.5.3
имя_родительского_блока 10.1.1
ассоциация_аргументов_пragm 2.8
префикс 4.1
первичный_элемент 4.4
выражение_вызова_процедуры 6.4
выражение_возбуждения_исключения 11.3
выражение_возбуждения 11.3
выражение_переупорядочения 9.5.4
аргумент_параметра_ограничения 13.12
индикатор_пула_хранения 13.11.3
спецификация_подпула 4.8
объявление_переименования_подпрограммы 8.5.4
метка_типа_подтипа 3.2.2
преобразование_типов 4.6
оператор_использования_пакета 8.4
массив_с_именованными_элементами 4.3.3
массив_агрегат 4.3.3
оператор_с_определением_связи_без_ограничения 10.1.2
оператор_с_определением_связи 10.1.2
исключение_нулевого_значения 3.10
определение_с_доступом 3.10
определение_типа_с_доступом 3.10
спецификация_дискриминанта 3.7
формальное_объявление_объекта 12.4
объявление_переименования_объекта 8.5.1
описание_параметра_и_результата 6.1
спецификация_параметра 6.1
индикация_подтипа 3.2.2
объявление_процедуры_с_нулевым_телом 6.7
базовое_объявление 3.1
элемент_операции_защищенного_блока 9.4
выражение_с_нулевым_телом 5.1
простое_выражение 5.1
десятичное_число ...
расширение_идентификатора 2.3
объявление_числа 3.3.2
базовое_объявление 3.1
буква_числа ...
начало_идентификатора 2.3
числовое_значение 2.4.1
основание 2.4.2
десятичное_литерал 2.4.1
экспонента 2.4.1
числовая_литерал 2.4
первичный_элемент 4.4
объявление_объекта 3.3.1
базовое_объявление 3.1
объявление_переименования_объекта 8.5.1
объявление_переименования 8.5
символ_оператора 6.1
определяющий_символ_оператора 6.1
дескриптор 6.1
прямое_имя 4.1
имя_селектора 4.1.3
END_OF_DOCUMENT_MARKER
определение_обычной_фиксированной_точки 3.5.9
определение_фиксированной_точки 3.5.9
индикатор_переопределения 8.3.1
объявление_абстрактной_подпрограммы 3.9.3
объявление_входной_точки 9.5.2
объявление_функции_выражения 6.8
инстанцирование_обобщённого_элемента 12.3
объявление_пустой_процедуры 6.7
тело_подпрограммы 6.3
заглушка_тела_подпрограммы 10.1.3
объявление_подпрограммы 6.1
объявление_переименования_подпрограммы 8.5.4
тело_пакета 7.2
тело_единицы_библиотеки 10.1.1
собственное_тело 3.11
заглушка_тела_пакета 10.1.3
заглушка_тела 10.1.3
объявление_пакета 7.1
базовое_объявление 3.1
объявление_единицы_библиотеки 10.1.1
объявление_переименования_пакета 8.5.3
объявление_переименования_единицы_библиотеки 10.1.1
объявление_переименования 8.5
спецификация_пакета 7.1
объявление_обобщённого_пакета 12.1
объявление_пакета 7.1
профиль_параметра_и_результата 6.1
определение_доступа 3.10
определение_доступа_к_подпрограмме 3.10
спецификация_функции 6.1
связывание_параметров 6.4
часть_фактического_параметра 6.4
профиль_параметра 6.1
оператор_приёма 9.5.2
определение_доступа 3.10
определение_доступа_к_подпрограмме 3.10
формальная_часть_тела_входной_точки 9.5.2
объявление_входной_точки 9.5.2
спецификация_процедуры 6.1
спецификация_параметра 6.1
формальная_часть 6.1
имя_родительской_единицы 10.1.1
имя_определяющей_программной_единицы 6.1
обозначитель 6.1
тело_пакета 7.2
спецификация_пакета 7.1
подразделение 10.1.3
позиция 13.5.1
описание_компонента 13.5.1
позиционный_массивный_агрегат 4.3.3
агрегат_массива 4.3.3
связывание_аргументов_pragma 2.8
pragma 2.8
предикат 4.5.8
квантифицированное_выражение 4.5.8
префикс 4.1
ссылка_на_атрибут 4.1.4
вызов_функции 6.4
обобщённое_индексирование 4.1.6
индексированный_компонент 4.1.1
оператор_вызова_процедуры 6.4
ссылка_на_атрибут_диапазона 4.1.4
выбранный_компонент 4.1.3
срез 4.1.2
основной_элемент 4.4
множитель 4.4
объявление_расширения_частного 7.3
объявление_типа 3.2.1
объявление_частного_типа 7.3
объявление_типа 3.2.1
оператор_вызова_процедуры 6.4
вызов_процедуры_или_входной_точки 9.7.2
простой_оператор 5.1
вызов_процедуры_или_входной_точки 9.7.2
альтернатива_вызова_входной_точки 9.7.2
оператор_триггера 9.7.4
END_OF_DOCUMENT_MARKER
описание_процедуры 6.1
объявление_процедуры_с_пустым_телом 6.7
описание_подпрограммы 6.1
основное_тело 3.11
тело 3.11
подразделение 10.1.3
тело_защищенного_блока 9.4
основное_тело 3.11
заглушка_тела_защищенного_блока 10.1.3
заглушка_тела 10.1.3
определение_защищенного_блока 9.4
объявление_типа_защищенного_блока 9.4
единичное_объявление_защищенного_блока 9.4
объявление_элемента_защищенного_блока 9.4
определение_защищенного_блока 9.4
объявление_операции_защищенного_блока 9.4
определение_защищенного_блока 9.4
объявление_элемента_защищенного_блока 9.4
элемент_операции_защищенного_блока 9.4
тело_защищенного_блока 9.4
объявление_типа_защищенного_блока 9.4
полное_объявление_типа 3.2.1
разделитель_знаков_пунктуации ...
расширение_идентификатора 2.3
квалифицированное_выражение 4.7
аллокатор 4.8
инструкция_кода 13.8
имя 4.1
выражение_с_квантором 4.5.8
первичное_выражение 4.4
квантор 4.5.8
выражение_с_квантором 4.5.8
выражение_вызова_исключения 11.3
отношение 4.4
инструкция_вызова_исключения 11.3
простая_инструкция 5.1
диапазон 3.5
дискретный_выбор 3.8.1
дискретный_диапазон 3.6.1
определение_дискретного_подтипа 3.6
выбор_членства 4.4
ограничение_диапазона 3.5
обозначение_атрибута_диапазона 4.1.4
ссылка_на_атрибут_диапазона 4.1.4
ссылка_на_атрибут_диапазона 4.1.4
диапазон 3.5
ограничение_диапазона 3.5
ограничение_дельта J.3
ограничение_разрядов 3.5.9
ограничение_скалярного_типа 3.2.2
спецификация_диапазона_вещественного_типа 3.5.7
определение_десятичного_фиксированной_точки 3.5.9
определение_типа_с_плавающей_точкой 3.5.7
определение_фиксированной_точки 3.5.9
определение_типа_вещественного_числа 3.5.6
определение_типа 3.2.1
агрегат_записи 4.3.1
агрегат 4.3
связь_компонента_записи 4.3.1
список_связей_компонентов_записи 4.3.1
список_связей_компонентов_записи 4.3.1
расширенный_агрегат 4.3.2
агрегат_записи 4.3.1
определение_записи 3.8
часть_расширения_записи 3.9.1
определение_типа_записи 3.8
часть_расширения_записи 3.9.1
определение_производного_типа 3.4
описание_представления_записи 13.5.1
описание_аспекта 13.1
определение_типа_записи 3.8
определение_типа 3.2.1
отношение 4.4
выражение 4.4
оператор_отношения 4.5
отношение_выбора 4.4
отношение 4.4
объявление_переименования 8.5
базовое_объявление 3.1
выражение_повторного_запуска 9.5.4
простое_выражение 5.1
аргумент_параметра_ограничения 13.12
ограничение 13.12
указание_подтипа_возвращаемого_значения 6.5
расширенное_объявление_объекта_возврата 6.5
скалярное_ограничение 3.2.2
ограничение 3.2.2
альтернатива_выбора 9.7.1
селективный_прием 9.7.1
выражение_выбора 9.7
составное_выражение 5.1
выбранный_компонент 4.1.3
имя 4.1
селективный_прием 9.7.1
выражение_выбора 9.7
имя_селектора 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
альтернатива_выражения_с_случаем 5.4
вызов_входного_метода_с_условием 9.7.3
альтернатива_задержки 9.7.1
альтернатива_вызова_метода_входа 9.7.2
обработчик_исключения 11.2
обработанная_последовательность_выражений 11.2
выражение_если 5.3
цикловое_выражение 5.5
селективный_прием 9.7.1
триггерная_альтернатива 9.7.4
определение_целочисленного_типа_с_знаком 3.5.4
определение_целочисленного_типа 3.5.4
простое_выражение 4.4
отношение_выбора 4.4
ограничение_delta J.3
ограничение_разрядов 3.5.9
первый_бит 13.5.1
последний_бит 13.5.1
выбор_членства 4.4
выражение_вызова 11.3
диапазон 3.5
спецификация_диапазона_вещественного_числа 3.5.7
отношение 4.4
определение_целочисленного_типа_с_знаком 3.5.4
простое_выражение_возврата 6.5
простое_выражение 5.1
простое_выражение 5.1
выражение 5.1
единственное_защищённое_объявление 9.4
объявление_объекта 3.3.1
объявление_единственной_задачи 9.1
объявление_объекта 3.3.1
срез 4.1.2
имя 4.1
выражение 5.1
последовательность_выражений 5.1
идентификатор_выражения 5.1
блочное_выражение 5.6
метка 5.1
цикловое_выражение 5.5
элемент_строки 2.6
строковая_литерал 2.6
строковая_литерал 2.6
символ_оператора 6.1
основной_элемент 4.4
END_OF_DOCUMENT_MARKER
subpool_specification 4.8
allocator 4.8
subprogram_body 6.3
library_unit_body 10.1.1
proper_body 3.11
protected_operation_item 9.4
subprogram_body_stub 10.1.3
body_stub 10.1.3
subprogram_declaration 6.1
basic_declaration 3.1
library_unit_declaration 10.1.1
protected_operation_declaration 9.4
protected_operation_item 9.4
subprogram_default 12.6
formal_abstract_subprogram_declaration 12.6
formal_concrete_subprogram_declaration 12.6
subprogram_renaming_declaration 8.5.4
library_unit_renaming_declaration 10.1.1
renaming_declaration 8.5
subprogram_specification 6.1
abstract_subprogram_declaration 3.9.3
formal_abstract_subprogram_declaration 12.6
formal_concrete_subprogram_declaration 12.6
generic_subprogram_declaration 12.1
subprogram_body 6.3
subprogram_body_stub 10.1.3
subprogram_declaration 6.1
subprogram_renaming_declaration 8.5.4
subtype_declaration 3.2.2
basic_declaration 3.1
subtype_indication 3.2.2
access_to_object_definition 3.10
allocator 4.8
component_definition 3.6
derived_type_definition 3.4
discrete_choice 3.8.1
discrete_range 3.6.1
discrete_subtype_definition 3.6
iterator_specification 5.5.2
object_declaration 3.3.1
private_extension_declaration 7.3
return_subtype_indication 6.5
subtype_declaration 3.2.2
subtype_mark 3.2.2
access_definition 3.10
ancestor_part 4.3.2
discriminant_specification 3.7
explicit_generic_actual_parameter 12.3
formal_derived_type_definition 12.5.1
formal_object_declaration 12.4
index_subtype_definition 3.6
interface_list 3.9.4
membership_choice 4.4
object_renaming_declaration 8.5.1
parameter_and_result_profile 6.1
parameter_specification 6.1
qualified_expression 4.7
subtype_indication 3.2.2
type_conversion 4.6
use_type_clause 8.4
subunit 10.1.3
compilation_unit 10.1.1
task_body 9.1
proper_body 3.11
task_body_stub 10.1.3
body_stub 10.1.3
task_definition 9.1
single_task_declaration 9.1
task_type_declaration 9.1
task_item 9.1
task_definition 9.1
task_type_declaration 9.1
full_type_declaration 3.2.1
term 4.4
simple_expression 4.4
terminate_alternative 9.7.1
select_alternative 9.7.1
вызов_timed_entry 9.7.2
оператор_select 9.7
альтернатива_вызвания 9.7.4
асинхронный_select 9.7.4
оператор_вызвания 9.7.4
альтернатива_вызвания 9.7.4
преобразование_типов 4.6
имя 4.1
объявление_типа 3.2.1
базовое_объявление 3.1
определение_типа 3.2.1
полное_объявление_типа 3.2.1
унарный_оператор_сложения 4.5
простое_выражение 4.4
определение_массива_без_ограничений 3.6
определение_типа_массива 3.6
подчёркивание ...
число_с_основанием 2.4.2
число 2.4.1
часть_дискриминанта_неизвестного_значения 3.7
часть_дискриминанта 3.7
оператор_use 8.4
базовый_декларативный_элемент 3.11
элемент_контекста 10.1.2
формальная_часть_генериков 12.1
оператор_use_пакета 8.4
оператор_use 8.4
оператор_use_типа 8.4
оператор_use 8.4
вариант 3.8.1
часть_варианта 3.8.1
часть_варианта 3.8.1
список_компонентов 3.8
оператор_with 10.1.2
элемент_контекста 10.1.2


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API