Annex P. Syntax Summary
From OC Systems Wiki!
(informative)
This Annex summarizes the complete syntax of the language. See 1.1.4 for a description of the notation used.
character::= graphic_character | format_effector | other_control_function
graphic_character::= identifier_letter | digit | space_character | special_character
identifier::= identifier_letter {[underline] letter_or_digit}
letter_or_digit::= identifier_letter | digit
numeric_literal::= decimal_literal | based_literal
decimal_literal::= numeral [.numeral] [exponent]
numeral::= digit {[underline] digit}
exponent::= E [+] numeral | E - numeral
based_literal::= base # based_numeral [.based_numeral] # [exponent]
base::= numeral
based_numeral::= extended_digit {[underline] extended_digit}
extended_digit::= digit | A | B | C | D | E | F
character_literal::= 'graphic_character'
string_literal::= "{string_element}"
string_element::= "" | non_quotation_mark_graphic_character
comment::= --{non_end_of_line_character}
pragma::= pragma identifier [(pragma_argument_association {, pragma_argument_association})];
pragma_argument_association::= [pragma_argument_identifier =>] name | [pragma_argument_identifier =>] expression
basic_declaration::= type_declaration | subtype_declaration | object_declaration | number_declaration | subprogram_declaration | abstract_subprogram_declaration | package_declaration | renaming_declaration | exception_declaration | generic_declaration | generic_instantiation
defining_identifier::= identifier
type_declaration::= full_type_declaration | incomplete_type_declaration | private_type_declaration | private_extension_declaration
full_type_declaration::= type defining_identifier [known_discriminant_part] is type_definition; | task_type_declaration | protected_type_declaration
type_definition::= enumeration_type_definition | integer_type_definition | real_type_definition | array_type_definition | record_type_definition | access_type_definition | derived_type_definition
subtype_declaration::= subtype defining_identifier is subtype_indication;
subtype_indication::= subtype_mark [constraint]
subtype_mark::= subtype_name
constraint::= scalar_constraint | composite_constraint
scalar_constraint::= range_constraint | digits_constraint | delta_constraint
composite_constraint::= index_constraint | discriminant_constraint
object_declaration::= defining_identifier_list : [aliased] [constant] subtype_indication [:= expression]; | defining_identifier_list : [aliased] [constant] array_type_definition [:= expression]; | single_task_declaration | single_protected_declaration
defining_identifier_list::= defining_identifier {, defining_identifier}
number_declaration::= defining_identifier_list : constant := static_expression;
derived_type_definition::= [abstract] new parent_subtype_indication [record_extension_part]
range_constraint::= range range
range::= range_attribute_reference | simple_expression .. simple_expression
enumeration_type_definition::= (enumeration_literal_specification {, enumeration_literal_specification})
enumeration_literal_specification::= defining_identifier | defining_character_literal
defining_character_literal::= character_literal
integer_type_definition::= signed_integer_type_definition | modular_type_definition
signed_integer_type_definition::= range static_simple_expression .. static_simple_expression
modular_type_definition::= mod static_expression
real_type_definition::= floating_point_definition | fixed_point_definition
floating_point_definition::= digits static_expression [real_range_specification]
real_range_specification::= range static_simple_expression .. static_simple_expression
fixed_point_definition::= ordinary_fixed_point_definition | decimal_fixed_point_definition
ordinary_fixed_point_definition::= delta static_expression real_range_specification
decimal_fixed_point_definition::= delta static_expression digits static_expression [real_range_specification]
digits_constraint::= digits static_expression [range_constraint]
array_type_definition::= unconstrained_array_definition | constrained_array_definition
unconstrained_array_definition::= array(index_subtype_definition {, index_subtype_definition}) of component_definition
index_subtype_definition::= subtype_mark range <>
constrained_array_definition::= array (discrete_subtype_definition {, discrete_subtype_definition}) of component_definition
discrete_subtype_definition::= discrete_subtype_indication | range
component_definition::= [aliased] subtype_indication
index_constraint::= (discrete_range {, discrete_range})
discrete_range::= discrete_subtype_indication | range
discriminant_part::= unknown_discriminant_part | known_discriminant_part
unknown_discriminant_part::= (<>)
known_discriminant_part::= (discriminant_specification {; discriminant_specification})
discriminant_specification::= defining_identifier_list : subtype_mark [:= default_expression] | defining_identifier_list : access_definition [:= default_expression]
default_expression::= expression
discriminant_constraint::= (discriminant_association {, discriminant_association})
discriminant_association::= [discriminant_selector_name {| discriminant_selector_name} =>] expression
record_type_definition::= [[abstract] tagged] [limited] record_definition
record_definition::= record component_list end record | null record
component_list::= component_item {component_item} | {component_item} variant_part | null;
component_item::= component_declaration | aspect_clause
component_declaration::= defining_identifier_list : component_definition [:= default_expression];
variant_part::= case discriminant_direct_name is variant {variant} end case;
variant::= when discrete_choice_list => component_list
discrete_choice_list::= discrete_choice {| discrete_choice}
discrete_choice::= expression | discrete_range | others
record_extension_part::= with record_definition
access_type_definition::=
access_to_object_definition
| access_to_subprogram_definition
access_to_object_definition::= access [general_access_modifier] subtype_indication
general_access_modifier::= all | constant
access_to_subprogram_definition::= access [protected] procedure parameter_profile | access [protected] function parameter_and_result_profile
access_definition::= access subtype_mark
incomplete_type_declaration::= type defining_identifier [discriminant_part];
declarative_part::= {declarative_item}
declarative_item::= basic_declarative_item | body
basic_declarative_item::= basic_declaration | aspect_clause | use_clause
body::= proper_body | body_stub
proper_body::= subprogram_body | package_body | task_body | protected_body
name::= direct_name | explicit_dereference | indexed_component | slice | selected_component | attribute_reference | type_conversion | function_call | character_literal
direct_name::= identifier | operator_symbol
prefix::= name | implicit_dereference
explicit_dereference::= name.all
implicit_dereference::= name
indexed_component::= prefix(expression {, expression})
slice::= prefix(discrete_range)
selected_component::= prefix . selector_name
selector_name::= identifier | character_literal | operator_symbol
attribute_reference::= prefix'attribute_designator
attribute_designator::= identifier[(static_expression)] | Access | Delta | Digits
range_attribute_reference::= prefix'range_attribute_designator
range_attribute_designator::= Range[(static_expression)]
aggregate::= record_aggregate | extension_aggregate | array_aggregate
record_aggregate::= (record_component_association_list)
record_component_association_list::= record_component_association {, record_component_association} | null record
record_component_association::= [ component_choice_list => ] expression
component_choice_list::= component_selector_name {| component_selector_name} | others
extension_aggregate::= (ancestor_part with record_component_association_list)
ancestor_part::= expression | subtype_mark
array_aggregate::= positional_array_aggregate | named_array_aggregate
positional_array_aggregate::= (expression, expression {, expression}) | (expression {, expression}, others => expression)
named_array_aggregate::= (array_component_association {, array_component_association})
array_component_association::= discrete_choice_list => expression
expression::= relation {and relation} | relation {and then relation} | relation {or relation} | relation {or else relation} | relation {xor relation}
relation::= simple_expression [relational_operator simple_expression] | simple_expression [not] in range | simple_expression [not] in subtype_mark
simple_expression::= [unary_adding_operator] term {binary_adding_operator term}
term::= factor {multiplying_operator factor}
factor::= primary [** primary] | abs primary | not primary
primary::= numeric_literal | null | string_literal | aggregate | name | qualified_expression | allocator | (expression)
logical_operator::= and | or | xor
relational_operator::= = | /= | < | <= | > | >=
binary_adding_operator::= + | - | &
unary_adding_operator::= + | -
multiplying_operator::= * | / | mod | rem
highest_precedence_operator::= ** | abs | not
type_conversion::= subtype_mark(expression) | subtype_mark(name)
qualified_expression::= subtype_mark'(expression) | subtype_mark'aggregate
allocator::= new subtype_indication | new qualified_expression
sequence_of_statements::= statement {statement}
statement::= {label} simple_statement | {label} compound_statement
simple_statement::= null_statement | assignment_statement | exit_statement | goto_statement | procedure_call_statement | return_statement | entry_call_statement | requeue_statement | delay_statement | abort_statement | raise_statement | code_statement
compound_statement::= if_statement | case_statement | loop_statement | block_statement | accept_statement | select_statement
null_statement::= null;
label::= <<label_statement_identifier>>
statement_identifier::= direct_name
assignment_statement::= variable_name := expression;
if_statement::= if condition then sequence_of_statements {elsif condition then sequence_of_statements} [else sequence_of_statements] end if;
condition::= boolean_expression
case_statement::= case expression is case_statement_alternative {case_statement_alternative} end case;
case_statement_alternative::= when discrete_choice_list => sequence_of_statements
loop_statement::= [loop_statement_identifier:] [iteration_scheme] loop sequence_of_statements end loop [loop_identifier];
iteration_scheme::= while condition | for loop_parameter_specification
loop_parameter_specification::= defining_identifier in [reverse] discrete_subtype_definition
block_statement::= [block_statement_identifier:] [declare declarative_part] begin handled_sequence_of_statements end [block_identifier];
exit_statement::= exit [loop_name] [when condition];
goto_statement::= goto label_name;
subprogram_declaration::= subprogram_specification;
abstract_subprogram_declaration::= subprogram_specification is abstract;
subprogram_specification::= procedure defining_program_unit_name parameter_profile | function defining_designator parameter_and_result_profile
designator::= [parent_unit_name . ]identifier | operator_symbol
defining_designator::= defining_program_unit_name | defining_operator_symbol
defining_program_unit_name::= [parent_unit_name . ]defining_identifier
operator_symbol::= string_literal
defining_operator_symbol::= operator_symbol
parameter_profile::= [formal_part]
parameter_and_result_profile::= [formal_part] return subtype_mark
formal_part::= (parameter_specification {; parameter_specification})
parameter_specification::= defining_identifier_list : mode subtype_mark [:= default_expression] | defining_identifier_list : access_definition [:= default_expression]
mode::= [in] | in out | out
subprogram_body::= subprogram_specification is declarative_part begin handled_sequence_of_statements end [designator];
procedure_call_statement::= procedure_name; | procedure_prefix actual_parameter_part;
function_call::= function_name | function_prefix actual_parameter_part
actual_parameter_part::= (parameter_association {, parameter_association})
parameter_association::= [formal_parameter_selector_name =>] explicit_actual_parameter
explicit_actual_parameter::= expression | variable_name
return_statement::= return [expression];
package_declaration::= package_specification;
package_specification::= package defining_program_unit_name is {basic_declarative_item} [private {basic_declarative_item}] 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];
private_type_declaration::= type defining_identifier [discriminant_part] is [[abstract] tagged] [limited] private;
private_extension_declaration::= type defining_identifier [discriminant_part] is [abstract] new ancestor_subtype_indication with private;
use_clause::= use_package_clause | use_type_clause
use_package_clause::= use package_name {, package_name};
use_type_clause::= use type subtype_mark {, subtype_mark};
renaming_declaration::= object_renaming_declaration | exception_renaming_declaration | package_renaming_declaration | subprogram_renaming_declaration | generic_renaming_declaration
object_renaming_declaration::= defining_identifier : subtype_mark renames object_name;
exception_renaming_declaration::= defining_identifier : exception renames exception_name;
package_renaming_declaration::= package defining_program_unit_name renames package_name;
subprogram_renaming_declaration::= subprogram_specification renames callable_entity_name;
generic_renaming_declaration::= generic package defining_program_unit_name renames generic_package_name; | generic procedure defining_program_unit_name renames generic_procedure_name; | generic function defining_program_unit_name renames generic_function_name;
task_type_declaration::= task type defining_identifier [known_discriminant_part] [is task_definition];
single_task_declaration::= task defining_identifier [is task_definition];
task_definition::= {task_item} [ private {task_item}] end [task_identifier]
task_item::= entry_declaration | aspect_clause
task_body::= task body defining_identifier is declarative_part begin handled_sequence_of_statements end [task_identifier];
protected_type_declaration::= protected type defining_identifier [known_discriminant_part] is protected_definition;
single_protected_declaration::= protected defining_identifier is protected_definition;
protected_definition::= { protected_operation_declaration } [ private { protected_element_declaration } ] end [protected_identifier]
protected_operation_declaration::= subprogram_declaration | entry_declaration | aspect_clause
protected_element_declaration::= protected_operation_declaration | component_declaration
protected_body::= protected body defining_identifier is { protected_operation_item } end [protected_identifier];
protected_operation_item::= subprogram_declaration | subprogram_body | entry_body | aspect_clause
entry_declaration::= entry defining_identifier [(discrete_subtype_definition)] parameter_profile;
accept_statement::= accept entry_direct_name [(entry_index)] parameter_profile [do handled_sequence_of_statements end [entry_identifier]];
entry_index::= expression
entry_body::= entry defining_identifier entry_body_formal_part entry_barrier is declarative_part begin handled_sequence_of_statements end [entry_identifier];
entry_body_formal_part::= [(entry_index_specification)] parameter_profile
entry_barrier::= when condition
entry_index_specification::= for defining_identifier in discrete_subtype_definition
entry_call_statement::= entry_name [actual_parameter_part];
requeue_statement::= requeue entry_name [with abort];
delay_statement::= delay_until_statement | delay_relative_statement
delay_until_statement::= delay until delay_expression;
delay_relative_statement::= delay delay_expression;
select_statement::= selective_accept | timed_entry_call | conditional_entry_call | asynchronous_select
selective_accept::= select [guard] select_alternative { or [guard] select_alternative } [ else sequence_of_statements ] end select;
guard::= when condition =>
select_alternative::= accept_alternative | delay_alternative | terminate_alternative
accept_alternative::= accept_statement [sequence_of_statements]
delay_alternative::= delay_statement [sequence_of_statements]
terminate_alternative::= terminate;
timed_entry_call::= select entry_call_alternative or delay_alternative end select;
entry_call_alternative::= entry_call_statement [sequence_of_statements]
conditional_entry_call::= select entry_call_alternative else sequence_of_statements end select;
asynchronous_select::= select triggering_alternative then abort abortable_part end select;
triggering_alternative::= triggering_statement [sequence_of_statements]
triggering_statement::= entry_call_statement | delay_statement
abortable_part::= sequence_of_statements
abort_statement::= abort task_name {, task_name};
compilation::= {compilation_unit}
compilation_unit::= context_clause library_item | context_clause subunit
library_item::= [private] library_unit_declaration | library_unit_body | [private] library_unit_renaming_declaration
library_unit_declaration::= subprogram_declaration | package_declaration | generic_declaration | generic_instantiation
library_unit_renaming_declaration::= package_renaming_declaration | generic_renaming_declaration | subprogram_renaming_declaration
library_unit_body::= subprogram_body | package_body
parent_unit_name::= name
context_clause::= {context_item}
context_item::= with_clause | use_clause
with_clause::= with library_unit_name {, library_unit_name};
body_stub::= subprogram_body_stub | package_body_stub | task_body_stub | protected_body_stub
subprogram_body_stub::= subprogram_specification is separate;
package_body_stub::= package body defining_identifier is separate;
task_body_stub::= task body defining_identifier is separate;
protected_body_stub::= protected body defining_identifier is separate;
subunit::= separate (parent_unit_name) proper_body
exception_declaration::= defining_identifier_list : exception;
handled_sequence_of_statements::= sequence_of_statements [exception exception_handler {exception_handler}]
exception_handler::= when [choice_parameter_specification:] exception_choice {| exception_choice} => sequence_of_statements
choice_parameter_specification::= defining_identifier
exception_choice::= exception_name | others
raise_statement::= raise [exception_name];
generic_declaration::= generic_subprogram_declaration | generic_package_declaration
generic_subprogram_declaration::= generic_formal_part subprogram_specification;
generic_package_declaration::= generic_formal_part package_specification;
generic_formal_part::= generic {generic_formal_parameter_declaration | use_clause}
generic_formal_parameter_declaration::= formal_object_declaration | formal_type_declaration | formal_subprogram_declaration | formal_package_declaration
generic_instantiation::= package defining_program_unit_name is new generic_package_name [generic_actual_part]; | procedure defining_program_unit_name is new generic_procedure_name [generic_actual_part]; | function defining_designator is new generic_function_name [generic_actual_part];
generic_actual_part::= (generic_association {, generic_association})
generic_association::= [generic_formal_parameter_selector_name =>] explicit_generic_actual_parameter
explicit_generic_actual_parameter::= expression | variable_name | subprogram_name | entry_name | subtype_mark | package_instance_name
formal_object_declaration::= defining_identifier_list : mode subtype_mark [:= default_expression];
formal_type_declaration::= type defining_identifier[discriminant_part] is formal_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_private_type_definition::= [[abstract] tagged] [limited] private
formal_derived_type_definition::= [abstract] new subtype_mark [with private]
formal_discrete_type_definition::= (<>)
formal_signed_integer_type_definition::= range <>
formal_modular_type_definition::= mod <>
formal_floating_point_definition::= digits <>
formal_ordinary_fixed_point_definition::= delta <>
formal_decimal_fixed_point_definition::= delta <> digits <>
formal_array_type_definition::= array_type_definition
formal_access_type_definition::= access_type_definition
formal_subprogram_declaration::= with subprogram_specification [is subprogram_default];
subprogram_default::= default_name | <>
default_name::= name
formal_package_declaration::= with package defining_identifier is new generic_package_name formal_package_actual_part;
formal_package_actual_part::= (<>) | [generic_actual_part]
aspect_clause::= attribute_definition_clause | enumeration_representation_clause | record_representation_clause | at_clause
local_name::= direct_name | direct_name'attribute_designator | library_unit_name
attribute_definition_clause::= for local_name'attribute_designator use expression; | for local_name'attribute_designator use name;
enumeration_representation_clause::= for first_subtype_local_name use enumeration_aggregate;
enumeration_aggregate::= array_aggregate
record_representation_clause::= for first_subtype_local_name use record [mod_clause] {component_clause} end record;
component_clause::= component_local_name at position range first_bit .. last_bit;
position::= static_expression
first_bit::= static_simple_expression
last_bit::= static_simple_expression
code_statement::= qualified_expression;
restriction::= restriction_identifier | restriction_parameter_identifier => expression
delta_constraint::= delta static_expression [range_constraint]
at_clause::= for direct_name use at expression;
mod_clause::= at mod static_expression;
Syntax Cross Reference
- abort_statement
- simple_statement 5.1
- abortable_part
- asynchronous_select 9.7.4
- abstract_subprogram_declaration
- basic_declaration 3.1
- accept_alternative
- select_alternative 9.7.1
- access_to_object_definition
- access_type_definition 3.10
- access_to_subprogram_definition
- access_type_definition 3.10
- allocator
- primary 4.4
- ancestor_part
- extension_aggregate 4.3.2
- array_component_association
- named_array_aggregate 4.3.3
- array_type_definition
- formal_array_type_definition 12.5.3
- object_declaration 3.3.1
- type_definition 3.2.1
- aspect_clause
- basic_declarative_item 3.11
- component_item 3.8
- protected_operation_declaration 9.4
- protected_operation_item 9.4
- task_item 9.1
- assignment_statement
- simple_statement 5.1
- asynchronous_select
- select_statement 9.7
- at_clause
- aspect_clause 13.1
- attribute_definition_clause
- aspect_clause 13.1
- attribute_reference
- name 4.1
- base
- based_literal 2.4.2
- based_literal
- numeric_literal 2.4
- based_numeral
- based_literal 2.4.2
- basic_declaration
- basic_declarative_item 3.11
- binary_adding_operator
- simple_expression 4.4
- block_statement
- compound_statement 5.1
- body
- declarative_item 3.11
- body_stub
- body 3.11
- case_statement
- compound_statement 5.1
- case_statement_alternative
- case_statement 5.4
- character
- comment 2.7
- choice_parameter_specification
- exception_handler 11.2
- code_statement
- simple_statement 5.1
- compilation_unit
- compilation 10.1.1
- component_choice_list
- record_component_association 4.3.1
- component_clause
- record_representation_clause 13.5.1
- component_definition
- component_declaration 3.8
- constrained_array_definition 3.6
- unconstrained_array_definition 3.6
- component_item
- component_list 3.8
- composite_constraint
- constraint 3.2.2
- compound_statement
- statement 5.1
- conditional_entry_call
- select_statement 9.7
- constrained_array_definition
- array_type_definition 3.6
- constraint
- subtype_indication 3.2.2
- context_clause
- compilation_unit 10.1.1
- context_item
- context_clause 10.1.2
- decimal_fixed_point_definition
- fixed_point_definition 3.5.9
- decimal_literal
- numeric_literal 2.4
- declarative_item
- declarative_part 3.11
- declarative_part
- block_statement 5.6
- entry_body 9.5.2
- package_body 7.2
- subprogram_body 6.3
- task_body 9.1
- default_expression
- component_declaration 3.8
- discriminant_specification 3.7
- formal_object_declaration 12.4
- parameter_specification 6.1
- default_name
- subprogram_default 12.6
- defining_character_literal
- enumeration_literal_specification 3.5.1
- defining_identifier
- 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
- formal_package_declaration 12.7
- formal_type_declaration 12.5
- full_type_declaration 3.2.1
- incomplete_type_declaration 3.10.1
- 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
- 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
- defining_designator 6.1
- defining_program_unit_name
- 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
- subprogram_specification 6.1
- delay_relative_statement
- delay_statement 9.6
- delay_until_statement
- delay_statement 9.6
- delta_constraint
- scalar_constraint 3.2.2
- derived_type_definition
- type_definition 3.2.1
- designator
- subprogram_body 6.3
- digits_constraint
- scalar_constraint 3.2.2
- direct_name
- 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
- discrete_choice_list 3.8.1
- discrete_subtype_definition
- constrained_array_definition 3.6
- entry_declaration 9.5.2
- entry_index_specification 9.5.2
- loop_parameter_specification 5.5
- discriminant_association
- discriminant_constraint 3.7.1
- discriminant_constraint
- composite_constraint 3.2.2
- discriminant_part
- formal_type_declaration 12.5
- incomplete_type_declaration 3.10.1
- private_extension_declaration 7.3
- private_type_declaration 7.3
- discriminant_specification
- known_discriminant_part 3.7
- entry_barrier
- entry_body 9.5.2
- entry_body
- protected_operation_item 9.4
- entry_body_formal_part
- entry_body 9.5.2
- entry_index
- accept_statement 9.5.2
- entry_index_specification
- entry_body_formal_part 9.5.2
- enumeration_aggregate
- enumeration_representation_clause 13.4
- enumeration_literal_specification
- enumeration_type_definition 3.5.1
- enumeration_representation_clause
- aspect_clause 13.1
- enumeration_type_definition
- type_definition 3.2.1
- exception_choice
- exception_handler 11.2
- exception_declaration
- basic_declaration 3.1
- exception_handler
- handled_sequence_of_statements 11.2
- exception_renaming_declaration
- renaming_declaration 8.5
- exit_statement
- simple_statement 5.1
- explicit_actual_parameter
- parameter_association 6.4
- explicit_dereference
- name 4.1
- explicit_generic_actual_parameter
- generic_association 12.3
- expression
- ancestor_part 4.3.2
- array_component_association 4.3.3
- assignment_statement 5.2
- at_clause J.7
- attribute_definition_clause 13.3
- attribute_designator 4.1.4
- case_statement 5.4
- condition 5.3
- decimal_fixed_point_definition 3.5.9
- default_expression 3.7
- delay_relative_statement 9.6
- delay_until_statement 9.6
- delta_constraint J.3
- digits_constraint 3.5.9
- discrete_choice 3.8.1
- discriminant_association 3.7.1
- entry_index 9.5.2
- explicit_actual_parameter 6.4
- explicit_generic_actual_parameter 12.3
- floating_point_definition 3.5.7
- indexed_component 4.1.1
- mod_clause J.8
- modular_type_definition 3.5.4
- number_declaration 3.3.2
- object_declaration 3.3.1
- ordinary_fixed_point_definition 3.5.9
- position 13.5.1
- positional_array_aggregate 4.3.3
- pragma_argument_association 2.8
- primary 4.4
- qualified_expression 4.7
- range_attribute_designator 4.1.4
- record_component_association 4.3.1
- restriction 13.12
- return_statement 6.5
- type_conversion 4.6
- extended_digit
- based_numeral 2.4.2
- extension_aggregate
- aggregate 4.3
- factor
- term 4.4
- first_bit
- component_clause 13.5.1
- fixed_point_definition
- real_type_definition 3.5.6
- floating_point_definition
- real_type_definition 3.5.6
- formal_access_type_definition
- formal_type_definition 12.5
- formal_array_type_definition
- formal_type_definition 12.5
- formal_decimal_fixed_point_definition
- formal_type_definition 12.5
- formal_derived_type_definition
- formal_type_definition 12.5
- formal_discrete_type_definition
- formal_type_definition 12.5
- formal_floating_point_definition
- formal_type_definition 12.5
- formal_modular_type_definition
- formal_type_definition 12.5
- formal_object_declaration
- generic_formal_parameter_declaration 12.1
- formal_ordinary_fixed_point_definition
- formal_type_definition 12.5
- formal_package_actual_part
- formal_package_declaration 12.7
- formal_package_declaration
- generic_formal_parameter_declaration 12.1
- formal_private_type_definition
- formal_type_definition 12.5
- formal_signed_integer_type_definition
- formal_type_definition 12.5
- formal_subprogram_declaration
- generic_formal_parameter_declaration 12.1
- formal_type_declaration
- generic_formal_parameter_declaration 12.1
- formal_type_definition
- formal_type_declaration 12.5
- format_effector
- character 2.1
- full_type_declaration
- type_declaration 3.2.1
- function_call
- name 4.1
- general_access_modifier
- access_to_object_definition 3.10
- generic_association
- generic_actual_part 12.3
- generic_formal_parameter_declaration
- generic_formal_part 12.1
- generic_package_declaration
- generic_declaration 12.1
- generic_subprogram_declaration
- generic_declaration 12.1
- goto_statement
- simple_statement 5.1
- guard
- selective_accept 9.7.1
- handled_sequence_of_statements
- accept_statement 9.5.2
- block_statement 5.6
- entry_body 9.5.2
- package_body 7.2
- subprogram_body 6.3
- task_body 9.1
- identifier
- accept_statement 9.5.2
- attribute_designator 4.1.4
- block_statement 5.6
- defining_identifier 3.1
- designator 6.1
- direct_name 4.1
- entry_body 9.5.2
- loop_statement 5.5
- package_body 7.2
- package_specification 7.1
- pragma 2.8
- pragma_argument_association 2.8
- protected_body 9.4
- protected_definition 9.4
- restriction 13.12
- selector_name 4.1.3
- task_body 9.1
- task_definition 9.1
- if_statement
- compound_statement 5.1
- implicit_dereference
- prefix 4.1
- incomplete_type_declaration
- type_declaration 3.2.1
- index_constraint
- composite_constraint 3.2.2
- index_subtype_definition
- unconstrained_array_definition 3.6
- indexed_component
- name 4.1
- integer_type_definition
- type_definition 3.2.1
- iteration_scheme
- loop_statement 5.5
- known_discriminant_part
- discriminant_part 3.7
- full_type_declaration 3.2.1
- protected_type_declaration 9.4
- task_type_declaration 9.1
- label
- statement 5.1
- last_bit
- component_clause 13.5.1
- letter_or_digit
- identifier 2.3
- library_item
- compilation_unit 10.1.1
- library_unit_body
- library_item 10.1.1
- library_unit_declaration
- library_item 10.1.1
- library_unit_renaming_declaration
- library_item 10.1.1
- local_name
- attribute_definition_clause 13.3
- component_clause 13.5.1
- enumeration_representation_clause 13.4
- record_representation_clause 13.5.1
- loop_parameter_specification
- iteration_scheme 5.5
- loop_statement
- compound_statement 5.1
- mod_clause
- record_representation_clause 13.5.1
- modular_type_definition
- integer_type_definition 3.5.4
- multiplying_operator
- term 4.4
- name
- abort_statement 9.8
- assignment_statement 5.2
- attribute_definition_clause 13.3
- default_name 12.6
- entry_call_statement 9.5.3
- exception_choice 11.2
- exception_renaming_declaration 8.5.2
- exit_statement 5.7
- explicit_actual_parameter 6.4
- explicit_dereference 4.1
- explicit_generic_actual_parameter 12.3
- formal_package_declaration 12.7
- function_call 6.4
- generic_instantiation 12.3
- generic_renaming_declaration 8.5.5
- goto_statement 5.8
- implicit_dereference 4.1
- local_name 13.1
- object_renaming_declaration 8.5.1
- package_renaming_declaration 8.5.3
- parent_unit_name 10.1.1
- pragma_argument_association 2.8
- prefix 4.1
- primary 4.4
- procedure_call_statement 6.4
- raise_statement 11.3
- requeue_statement 9.5.4
- subprogram_renaming_declaration 8.5.4
- subtype_mark 3.2.2
- type_conversion 4.6
- use_package_clause 8.4
- with_clause 10.1.2
- named_array_aggregate
- array_aggregate 4.3.3
- null_statement
- simple_statement 5.1
- number_declaration
- basic_declaration 3.1
- numeric_literal
- primary 4.4
- object_declaration
- basic_declaration 3.1
- object_renaming_declaration
- renaming_declaration 8.5
- ordinary_fixed_point_definition
- fixed_point_definition 3.5.9
- other_control_function
- character 2.1
- package_body_stub
- body_stub 10.1.3
- parameter_association
- actual_parameter_part 6.4
- parameter_profile
- accept_statement 9.5.2
- access_to_subprogram_definition 3.10
- entry_body_formal_part 9.5.2
- entry_declaration 9.5.2
- subprogram_specification 6.1
- parameter_specification
- formal_part 6.1
- parent_unit_name
- defining_program_unit_name 6.1
- designator 6.1
- package_body 7.2
- package_specification 7.1
- subunit 10.1.3
- position
- component_clause 13.5.1
- positional_array_aggregate
- array_aggregate 4.3.3
- pragma_argument_association
- pragma 2.8
- prefix
- 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
- primary
- factor 4.4
- private_extension_declaration
- type_declaration 3.2.1
- private_type_declaration
- type_declaration 3.2.1
- procedure_call_statement
- simple_statement 5.1
- protected_body
- proper_body 3.11
- protected_body_stub
- body_stub 10.1.3
- protected_element_declaration
- protected_definition 9.4
- protected_operation_item
- protected_body 9.4
- protected_type_declaration
- full_type_declaration 3.2.1
- raise_statement
- simple_statement 5.1
- range_attribute_designator
- range_attribute_reference 4.1.4
- range_attribute_reference
- range 3.5
- real_range_specification
- decimal_fixed_point_definition 3.5.9
- floating_point_definition 3.5.7
- ordinary_fixed_point_definition 3.5.9
- real_type_definition
- type_definition 3.2.1
- record_aggregate
- aggregate 4.3
- record_component_association
- record_component_association_list 4.3.1
- record_extension_part
- derived_type_definition 3.4
- record_representation_clause
- aspect_clause 13.1
- record_type_definition
- type_definition 3.2.1
- relation
- expression 4.4
- relational_operator
- relation 4.4
- renaming_declaration
- basic_declaration 3.1
- requeue_statement
- simple_statement 5.1
- return_statement
- simple_statement 5.1
- scalar_constraint
- constraint 3.2.2
- select_alternative
- selective_accept 9.7.1
- select_statement
- compound_statement 5.1
- selected_component
- name 4.1
- selective_accept
- select_statement 9.7
- selector_name
- component_choice_list 4.3.1
- discriminant_association 3.7.1
- generic_association 12.3
- parameter_association 6.4
- selected_component 4.1.3
- sequence_of_statements
- abortable_part 9.7.4
- accept_alternative 9.7.1
- case_statement_alternative 5.4
- conditional_entry_call 9.7.3
- delay_alternative 9.7.1
- entry_call_alternative 9.7.2
- exception_handler 11.2
- handled_sequence_of_statements 11.2
- if_statement 5.3
- loop_statement 5.5
- selective_accept 9.7.1
- triggering_alternative 9.7.4
- signed_integer_type_definition
- integer_type_definition 3.5.4
- simple_expression
- first_bit 13.5.1
- last_bit 13.5.1
- range 3.5
- real_range_specification 3.5.7
- relation 4.4
- signed_integer_type_definition 3.5.4
- simple_statement
- statement 5.1
- single_protected_declaration
- object_declaration 3.3.1
- single_task_declaration
- object_declaration 3.3.1
- slice
- name 4.1
- space_character
- graphic_character 2.1
- special_character
- graphic_character 2.1
- statement
- sequence_of_statements 5.1
- string_element
- string_literal 2.6
- subprogram_body_stub
- body_stub 10.1.3
- subprogram_declaration
- basic_declaration 3.1
- library_unit_declaration 10.1.1
- protected_operation_declaration 9.4
- protected_operation_item 9.4
- subprogram_default
- formal_subprogram_declaration 12.6
- subprogram_specification
- abstract_subprogram_declaration 6.1
- formal_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
- basic_declaration 3.1
- subtype_indication
- access_to_object_definition 3.10
- allocator 4.8
- component_definition 3.6
- derived_type_definition 3.4
- discrete_range 3.6.1
- discrete_subtype_definition 3.6
- object_declaration 3.3.1
- private_extension_declaration 7.3
- subtype_declaration 3.2.2
- subtype_mark
- 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
- object_renaming_declaration 8.5.1
- parameter_and_result_profile 6.1
- parameter_specification 6.1
- qualified_expression 4.7
- relation 4.4
- subtype_indication 3.2.2
- type_conversion 4.6
- use_type_clause 8.4
- subunit
- compilation_unit 10.1.1
- task_body
- proper_body 3.11
- task_body_stub
- body_stub 10.1.3
- task_item
- task_definition 9.1
- task_type_declaration
- full_type_declaration 3.2.1
- term
- simple_expression 4.4
- terminate_alternative
- select_alternative 9.7.1
- timed_entry_call
- select_statement 9.7
- triggering_alternative
- asynchronous_select 9.7.4
- triggering_statement
- triggering_alternative 9.7.4
- type_conversion
- name 4.1
- type_declaration
- basic_declaration 3.1
- type_definition
- full_type_declaration 3.2.1
- unary_adding_operator
- simple_expression 4.4
- unconstrained_array_definition
- array_type_definition 3.6
- unknown_discriminant_part
- discriminant_part 3.7
- use_package_clause
- use_clause 8.4
- use_type_clause
- use_clause 8.4
- variant
- variant_part 3.8.1
- variant_part
- component_list 3.8
- with_clause
- context_item 10.1.2
Copyright © 1992,1993,1994,1995 Intermetrics, Inc.
Copyright © 2000 The MITRE Corporation, Inc.
Ada Reference Manual