Go to the first, previous, next, last section, table of contents.


P Syntax Summary (informative)

  1. This Annex summarizes the complete syntax of the language. See section 1.1.4 Method of Description and Syntax Notation, for a description of the notation used.
    See section 2.1 Character Set
    character ::=
         graphic_character
       | format_effector
       | other_control_function
    
    See section 2.1 Character Set
    graphic_character ::=
         identifier_letter
       | digit
       | space_character
       | special_character
    
    See section 2.3 Identifiers
    identifier ::= identifier_letter {[underline] letter_or_digit}
    
    See section 2.3 Identifiers
    letter_or_digit ::= identifier_letter | digit
    
    See section 2.4 Numeric Literals
    numeric_literal ::= decimal_literal | based_literal
    
    See section 2.4.1 Decimal Literals
    decimal_literal ::= numeral [.numeral] [exponent]
    
    See section 2.4.1 Decimal Literals
    numeral ::= digit {[underline] digit}
    
    See section 2.4.1 Decimal Literals
    exponent ::= E [+] numeral | E - numeral
    
    See section 2.4.2 Based Literals
    based_literal ::= base # based_numeral [.based_numeral] # [exponent]
    
    See section 2.4.2 Based Literals
    base ::= numeral
    
    See section 2.4.2 Based Literals
    based_numeral ::= extended_digit {[underline] extended_digit}
    
    See section 2.4.2 Based Literals
    extended_digit ::= digit | A | B | C | D | E | F
    
    See section 2.5 Character Literals
    character_literal ::= 'graphic_character'
    
    See section 2.6 String Literals
    string_literal ::= "{string_element}"
    
    See section 2.6 String Literals
    string_element ::= "" | non_quotation_mark_graphic_character
    
    A string_element is either a pair of quotation marks (""), or a
    single graphic_character other than a quotation mark.
    
    See section 2.7 Comments
    comment ::= --{non_end_of_line_character}
    
    See section 2.8 Pragmas
    pragma ::=
       pragma identifier [(pragma_argument_association
          {, pragma_argument_association})];
    
    See section 2.8 Pragmas
    pragma_argument_association ::=
         [pragma_argument_identifier =>] name
       | [pragma_argument_identifier =>] expression
    
    See section 3.1 Declarations
    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
    
    See section 3.1 Declarations
    defining_identifier ::= identifier
    
    See section 3.2.1 Type Declarations
    type_declaration ::=
         full_type_declaration
       | incomplete_type_declaration
       | private_type_declaration
       | private_extension_declaration
    
    See section 3.2.1 Type Declarations
    full_type_declaration ::=
         type defining_identifier [known_discriminant_part]
           is type_definition;
       | task_type_declaration
       | protected_type_declaration
    
    See section 3.2.1 Type Declarations
    type_definition ::=
         enumeration_type_definition | integer_type_definition
       | real_type_definition        | array_type_definition
       | record_type_definition      | access_type_definition
       | derived_type_definition
    
    See section 3.2.2 Subtype Declarations
    subtype_declaration ::=
       subtype defining_identifier is subtype_indication;
    
    See section 3.2.2 Subtype Declarations
    subtype_indication ::=  subtype_mark [constraint]
    
    See section 3.2.2 Subtype Declarations
    subtype_mark ::= subtype_name
    
    See section 3.2.2 Subtype Declarations
    constraint ::= scalar_constraint | composite_constraint
    
    See section 3.2.2 Subtype Declarations
    scalar_constraint ::=
       range_constraint | digits_constraint | delta_constraint
    
    See section 3.2.2 Subtype Declarations
    composite_constraint ::=
       index_constraint | discriminant_constraint
    
    See section 3.3.1 Object Declarations
    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
    
    See section 3.3.1 Object Declarations
    defining_identifier_list ::=
       defining_identifier {, defining_identifier}
    
    See section 3.3.2 Number Declarations
    number_declaration ::=
       defining_identifier_list : constant := static_expression;
    
    See section 3.4 Derived Types and Classes
    derived_type_definition ::= [abstract] new
      parent_subtype_indication [record_extension_part]
    
    See section 3.5 Scalar Types
    range_constraint ::= range range
    
    See section 3.5 Scalar Types
    range ::=
         range_attribute_reference
       | simple_expression .. simple_expression
    
    See section 3.5.1 Enumeration Types
    enumeration_type_definition ::=
       (enumeration_literal_specification
         {, enumeration_literal_specification})
    
    See section 3.5.1 Enumeration Types
    enumeration_literal_specification ::=
       defining_identifier | defining_character_literal
    
    See section 3.5.1 Enumeration Types
    defining_character_literal ::= character_literal
    
    See section 3.5.4 Integer Types
    integer_type_definition ::=
       signed_integer_type_definition | modular_type_definition
    
    See section 3.5.4 Integer Types
    signed_integer_type_definition ::=
       range static_simple_expression .. static_simple_expression
    
    See section 3.5.4 Integer Types
    modular_type_definition ::= mod static_expression
    
    See section 3.5.6 Real Types
    real_type_definition ::=
       floating_point_definition | fixed_point_definition
    
    See section 3.5.7 Floating Point Types
    floating_point_definition ::=
       digits static_expression [real_range_specification]
    
    See section 3.5.7 Floating Point Types
    real_range_specification ::=
       range static_simple_expression .. static_simple_expression
    
    See section 3.5.9 Fixed Point Types
    fixed_point_definition ::=
       ordinary_fixed_point_definition | decimal_fixed_point_definition
    
    See section 3.5.9 Fixed Point Types
    ordinary_fixed_point_definition ::=
       delta static_expression real_range_specification
    
    See section 3.5.9 Fixed Point Types
    decimal_fixed_point_definition ::=
       delta static_expression digits static_expression
         [real_range_specification]
    
    See section 3.5.9 Fixed Point Types
    digits_constraint ::=
       digits static_expression [range_constraint]
    
    See section 3.6 Array Types
    array_type_definition ::=
       unconstrained_array_definition | constrained_array_definition
    
    See section 3.6 Array Types
    unconstrained_array_definition ::=
       array(index_subtype_definition {, index_subtype_definition})
         of component_definition
    
    See section 3.6 Array Types
    index_subtype_definition ::= subtype_mark range <>
    
    See section 3.6 Array Types
    constrained_array_definition ::=
       array (discrete_subtype_definition
         {, discrete_subtype_definition}) of component_definition
    
    See section 3.6 Array Types
    discrete_subtype_definition ::= discrete_subtype_indication | range
    
    See section 3.6 Array Types
    component_definition ::= [aliased] subtype_indication
    
    See section 3.6.1 Index Constraints and Discrete Ranges
    index_constraint ::= (discrete_range {, discrete_range})
    
    See section 3.6.1 Index Constraints and Discrete Ranges
    discrete_range ::= discrete_subtype_indication | range
    
    See section 3.7 Discriminants
    discriminant_part ::=
       unknown_discriminant_part | known_discriminant_part
    
    See section 3.7 Discriminants
    unknown_discriminant_part ::= (<>)
    
    See section 3.7 Discriminants
    known_discriminant_part ::=
       (discriminant_specification {; discriminant_specification})
    
    See section 3.7 Discriminants
    discriminant_specification ::=
         defining_identifier_list : subtype_mark
           [:= default_expression]
       | defining_identifier_list : access_definition
           [:= default_expression]
    
    See section 3.7 Discriminants
    default_expression ::= expression
    
    See section 3.7.1 Discriminant Constraints
    discriminant_constraint ::=
       (discriminant_association {, discriminant_association})
    
    See section 3.7.1 Discriminant Constraints
    discriminant_association ::=
       [discriminant_selector_name
         {| discriminant_selector_name} =>] expression
    
    See section 3.8 Record Types
    record_type_definition ::=
       [[abstract] tagged] [limited] record_definition
    
    See section 3.8 Record Types
    record_definition ::=
         record
            component_list
         end record
       | null record
    
    See section 3.8 Record Types
    component_list ::=
         component_item {component_item}
       | {component_item} variant_part
       |  null;
    
    See section 3.8 Record Types
    component_item ::= component_declaration | representation_clause
    
    See section 3.8 Record Types
    component_declaration ::=
       defining_identifier_list : component_definition
         [:= default_expression];
    
    See section 3.8.1 Variant Parts and Discrete Choices
    variant_part ::=
       case discriminant_direct_name is
          variant
          {variant}
       end case;
    
    See section 3.8.1 Variant Parts and Discrete Choices
    variant ::=
       when discrete_choice_list =>
          component_list
    
    See section 3.8.1 Variant Parts and Discrete Choices
    discrete_choice_list ::= discrete_choice {| discrete_choice}
    
    See section 3.8.1 Variant Parts and Discrete Choices
    discrete_choice ::= expression | discrete_range | others
    
    See section 3.9.1 Type Extensions
    record_extension_part ::= with record_definition
    
    See section 3.10 Access Types
    access_type_definition ::=
         access_to_object_definition
       | access_to_subprogram_definition
    
    See section 3.10 Access Types
    access_to_object_definition ::=
        access [general_access_modifier] subtype_indication
    
    See section 3.10 Access Types
    general_access_modifier ::= all | constant
    
    See section 3.10 Access Types
    access_to_subprogram_definition ::=
         access [protected] procedure parameter_profile
       | access [protected] function  parameter_and_result_profile
    
    See section 3.10 Access Types
    access_definition ::= access subtype_mark
    
    See section 3.10.1 Incomplete Type Declarations
    incomplete_type_declaration ::=
       type defining_identifier [discriminant_part];
    
    See section 3.11 Declarative Parts
    declarative_part ::= {declarative_item}
    
    See section 3.11 Declarative Parts
    declarative_item ::= basic_declarative_item | body
    
    See section 3.11 Declarative Parts
    basic_declarative_item ::=
       basic_declaration | representation_clause | use_clause
    
    See section 3.11 Declarative Parts
    body ::= proper_body | body_stub
    
    See section 3.11 Declarative Parts
    proper_body ::=
       subprogram_body | package_body | task_body | protected_body
    
    See section 4.1 Names
    name ::=
         direct_name                | explicit_dereference
       | indexed_component          | slice
       | selected_component         | attribute_reference
       | type_conversion            | function_call
       | character_literal
    
    See section 4.1 Names
    direct_name ::= identifier | operator_symbol
    
    See section 4.1 Names
    prefix ::= name | implicit_dereference
    
    See section 4.1 Names
    explicit_dereference ::= name.all
    
    See section 4.1 Names
    implicit_dereference ::= name
    
    See section 4.1.1 Indexed Components
    indexed_component ::= prefix(expression {, expression})
    
    See section 4.1.2 Slices
    slice ::= prefix(discrete_range)
    
    See section 4.1.3 Selected Components
    selected_component ::= prefix . selector_name
    
    See section 4.1.3 Selected Components
    selector_name ::= identifier | character_literal | operator_symbol
    
    See section 4.1.4 Attributes
    attribute_reference ::= prefix'attribute_designator
    
    See section 4.1.4 Attributes
    attribute_designator ::=
         identifier[(static_expression)]
       | Access | Delta | Digits
    
    See section 4.1.4 Attributes
    range_attribute_reference ::= prefix'range_attribute_designator
    
    See section 4.1.4 Attributes
    range_attribute_designator ::= Range[(static_expression)]
    
    See section 4.3 Aggregates
    aggregate ::=
       record_aggregate | extension_aggregate | array_aggregate
    
    See section 4.3.1 Record Aggregates
    record_aggregate ::= (record_component_association_list)
    
    See section 4.3.1 Record Aggregates
    record_component_association_list ::=
         record_component_association {, record_component_association}
       | null record
    
    See section 4.3.1 Record Aggregates
    record_component_association ::=
       [ component_choice_list => ] expression
    
    See section 4.3.1 Record Aggregates
    component_choice_list ::=
         component_selector_name {| component_selector_name}
       | others
    
    See section 4.3.2 Extension Aggregates
    extension_aggregate ::=
    (ancestor_part with record_component_association_list)
    
    See section 4.3.2 Extension Aggregates
    ancestor_part ::= expression | subtype_mark
    
    See section 4.3.3 Array Aggregates
    array_aggregate ::=
       positional_array_aggregate | named_array_aggregate
    
    See section 4.3.3 Array Aggregates
    positional_array_aggregate ::=
         (expression, expression {, expression})
       | (expression {, expression}, others => expression)
    
    See section 4.3.3 Array Aggregates
    named_array_aggregate ::=
       (array_component_association {, array_component_association})
    
    See section 4.3.3 Array Aggregates
    array_component_association ::=
       discrete_choice_list => expression
    
    See section 4.4 Expressions
    expression ::=
         relation {and relation} | relation {and then relation}
       | relation {or relation}  | relation {or else relation}
       | relation {xor relation}
    
    See section 4.4 Expressions
    relation ::=
         simple_expression [relational_operator simple_expression]
       | simple_expression [not] in range
       | simple_expression [not] in subtype_mark
    
    See section 4.4 Expressions
    simple_expression ::=
       [unary_adding_operator] term {binary_adding_operator term}
    
    See section 4.4 Expressions
    term ::= factor {multiplying_operator factor}
    
    See section 4.4 Expressions
    factor ::= primary [** primary] | abs primary | not primary
    
    See section 4.4 Expressions
    primary ::=
         numeric_literal   | null
       | string_literal    | aggregate
       | name              | qualified_expression
       | allocator         | (expression)
    
    See section 4.5 Operators and Expression Evaluation
    logical_operator             ::=  and | or  | xor
    
    See section 4.5 Operators and Expression Evaluation
    relational_operator          ::=  =   | /=  | <   | <= | > | >=
    
    See section 4.5 Operators and Expression Evaluation
    binary_adding_operator       ::=  +   | -   | &
    
    See section 4.5 Operators and Expression Evaluation
    unary_adding_operator        ::=  +   | -
    
    See section 4.5 Operators and Expression Evaluation
    multiplying_operator         ::=  *   | /   | mod | rem
    
    See section 4.5 Operators and Expression Evaluation
    highest_precedence_operator  ::=  **  | abs | not
    
    See section 4.6 Type Conversions
    type_conversion ::=
         subtype_mark(expression)
       | subtype_mark(name)
    
    See section 4.7 Qualified Expressions
    qualified_expression ::=
       subtype_mark'(expression) | subtype_mark'aggregate
    
    See section 4.8 Allocators
    allocator ::=
       new subtype_indication | new qualified_expression
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    sequence_of_statements ::= statement {statement}
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    statement ::=
       {label} simple_statement | {label} compound_statement
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    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
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    compound_statement ::=
         if_statement           | case_statement
       | loop_statement         | block_statement
       | accept_statement       | select_statement
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    null_statement ::= null;
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    label ::= <<label_statement_identifier>>
    
    See section 5.1 Simple and Compound Statements - Sequences of Statements
    statement_identifier ::= direct_name
    
    See section 5.2 Assignment Statements
    assignment_statement ::= variable_name := expression;
    
    See section 5.3 If Statements
    if_statement ::=
       if condition then
          sequence_of_statements
       {elsif condition then
          sequence_of_statements}
       [else
          sequence_of_statements]
       end if;
    
    See section 5.3 If Statements
    condition ::= boolean_expression
    
    See section 5.4 Case Statements
    case_statement ::=
       case expression is
          case_statement_alternative
          {case_statement_alternative}
       end case;
    
    See section 5.4 Case Statements
    case_statement_alternative ::=
       when discrete_choice_list =>
          sequence_of_statements
    
    See section 5.5 Loop Statements
    loop_statement ::=
       [loop_statement_identifier:]
          [iteration_scheme] loop
             sequence_of_statements
          end loop [loop_identifier];
    
    See section 5.5 Loop Statements
    iteration_scheme ::= while condition
       | for loop_parameter_specification
    
    See section 5.5 Loop Statements
    loop_parameter_specification ::=
       defining_identifier in [reverse] discrete_subtype_definition
    
    See section 5.6 Block Statements
    block_statement ::=
       [block_statement_identifier:]
          [declare
             declarative_part]
          begin
             handled_sequence_of_statements
          end [block_identifier];
    
    See section 5.7 Exit Statements
    exit_statement ::= exit [loop_name] [when condition];
    
    See section 5.8 Goto Statements
    goto_statement ::= goto label_name;
    
    See section 6.1 Subprogram Declarations
    subprogram_declaration ::= subprogram_specification;
    
    See section 6.1 Subprogram Declarations
    abstract_subprogram_declaration ::= subprogram_specification is abstract;
    
    See section 6.1 Subprogram Declarations
    subprogram_specification ::=
         procedure defining_program_unit_name parameter_profile
       | function defining_designator parameter_and_result_profile
    
    See section 6.1 Subprogram Declarations
    designator ::= [parent_unit_name . ]identifier | operator_symbol
    
    See section 6.1 Subprogram Declarations
    defining_designator ::=
       defining_program_unit_name | defining_operator_symbol
    
    See section 6.1 Subprogram Declarations
    defining_program_unit_name ::=
       [parent_unit_name . ]defining_identifier
    
    See section 6.1 Subprogram Declarations
    operator_symbol ::= string_literal
    
    See section 6.1 Subprogram Declarations
    defining_operator_symbol ::= operator_symbol
    
    See section 6.1 Subprogram Declarations
    parameter_profile ::= [formal_part]
    
    See section 6.1 Subprogram Declarations
    parameter_and_result_profile ::= [formal_part] return subtype_mark
    
    See section 6.1 Subprogram Declarations
    formal_part ::=
       (parameter_specification {; parameter_specification})
    
    See section 6.1 Subprogram Declarations
    parameter_specification ::=
         defining_identifier_list : mode subtype_mark
           [:= default_expression]
       | defining_identifier_list : access_definition
           [:= default_expression]
    
    See section 6.1 Subprogram Declarations
    mode ::= [in] | in out | out
    
    See section 6.3 Subprogram Bodies
    subprogram_body ::=
       subprogram_specification is
          declarative_part
       begin
          handled_sequence_of_statements
       end [designator];
    
    See section 6.4 Subprogram Calls
    procedure_call_statement ::=
         procedure_name;
       | procedure_prefix actual_parameter_part;
    
    See section 6.4 Subprogram Calls
    function_call ::=
         function_name
       | function_prefix actual_parameter_part
    
    See section 6.4 Subprogram Calls
    actual_parameter_part ::=
       (parameter_association {, parameter_association})
    
    See section 6.4 Subprogram Calls
    parameter_association ::=
       [formal_parameter_selector_name =>] explicit_actual_parameter
    
    See section 6.4 Subprogram Calls
    explicit_actual_parameter ::= expression | variable_name
    
    See section 6.5 Return Statements
    return_statement ::= return [expression];
    
    See section 7.1 Package Specifications and Declarations
    package_declaration ::= package_specification;
    
    See section 7.1 Package Specifications and Declarations
    package_specification ::=
       package defining_program_unit_name is
          {basic_declarative_item}
       [private
          {basic_declarative_item}]
       end [[parent_unit_name.]identifier]
    
    See section 7.2 Package Bodies
    package_body ::=
       package body defining_program_unit_name is
          declarative_part
       [begin
          handled_sequence_of_statements]
       end [[parent_unit_name.]identifier];
    
    See section 7.3 Private Types and Private Extensions
    private_type_declaration ::=
       type defining_identifier [discriminant_part] is
         [[abstract] tagged] [limited] private;
    
    See section 7.3 Private Types and Private Extensions
    private_extension_declaration ::=
       type defining_identifier [discriminant_part] is
         [abstract] new ancestor_subtype_indication with private;
    
    See section 8.4 Use Clauses
    use_clause ::= use_package_clause | use_type_clause
    
    See section 8.4 Use Clauses
    use_package_clause ::= use package_name {, package_name};
    
    See section 8.4 Use Clauses
    use_type_clause ::= use type subtype_mark {, subtype_mark};
    
    See section 8.5 Renaming Declarations
    renaming_declaration ::=
          object_renaming_declaration
        | exception_renaming_declaration
        | package_renaming_declaration
        | subprogram_renaming_declaration
        | generic_renaming_declaration
    
    See section 8.5.1 Object Renaming Declarations
    object_renaming_declaration ::=
       defining_identifier : subtype_mark renames object_name;
    
    See section 8.5.2 Exception Renaming Declarations
    exception_renaming_declaration ::=
       defining_identifier : exception renames exception_name;
    
    See section 8.5.3 Package Renaming Declarations
    package_renaming_declaration ::=
       package defining_program_unit_name renames package_name;
    
    See section 8.5.4 Subprogram Renaming Declarations
    subprogram_renaming_declaration ::=
       subprogram_specification renames callable_entity_name;
    
    See section 8.5.5 Generic Renaming Declarations
    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;
    
    See section 9.1 Task Units and Task Objects
    task_type_declaration ::=
       task type defining_identifier [known_discriminant_part]
         [is task_definition];
    
    See section 9.1 Task Units and Task Objects
    single_task_declaration ::=
       task defining_identifier [is task_definition];
    
    See section 9.1 Task Units and Task Objects
    task_definition ::=
          {task_item}
       [ private
          {task_item}]
       end [task_identifier]
    
    See section 9.1 Task Units and Task Objects
    task_item ::= entry_declaration | representation_clause
    
    See section 9.1 Task Units and Task Objects
    task_body ::=
       task body defining_identifier is
          declarative_part
       begin
          handled_sequence_of_statements
       end [task_identifier];
    
    See section 9.4 Protected Units and Protected Objects
    protected_type_declaration ::=
       protected type defining_identifier [known_discriminant_part] is
         protected_definition;
    
    See section 9.4 Protected Units and Protected Objects
    single_protected_declaration ::=
       protected defining_identifier is protected_definition;
    
    See section 9.4 Protected Units and Protected Objects
    protected_definition ::=
          { protected_operation_declaration }
       [ private
          { protected_element_declaration } ]
       end [protected_identifier]
    
    See section 9.4 Protected Units and Protected Objects
    protected_operation_declaration ::=
         subprogram_declaration
       | entry_declaration
       | representation_clause
    
    See section 9.4 Protected Units and Protected Objects
    protected_element_declaration ::=
       protected_operation_declaration | component_declaration
    
    See section 9.4 Protected Units and Protected Objects
    protected_body ::=
       protected body defining_identifier is
          { protected_operation_item }
       end [protected_identifier];
    
    See section 9.4 Protected Units and Protected Objects
    protected_operation_item ::=
         subprogram_declaration
       | subprogram_body
       | entry_body
       | representation_clause
    
    See section 9.5.2 Entries and Accept Statements
    entry_declaration ::=
       entry defining_identifier [(discrete_subtype_definition)]
         parameter_profile;
    
    See section 9.5.2 Entries and Accept Statements
    accept_statement ::=
       accept entry_direct_name [(entry_index)] parameter_profile [do
          handled_sequence_of_statements
       end [entry_identifier]];
    
    See section 9.5.2 Entries and Accept Statements
    entry_index ::= expression
    
    See section 9.5.2 Entries and Accept Statements
    entry_body ::=
       entry defining_identifier entry_body_formal_part entry_barrier is
          declarative_part
       begin
          handled_sequence_of_statements
       end [entry_identifier];
    
    See section 9.5.2 Entries and Accept Statements
    entry_body_formal_part ::=
       [(entry_index_specification)] parameter_profile
    
    See section 9.5.2 Entries and Accept Statements
    entry_barrier ::= when condition
    
    See section 9.5.2 Entries and Accept Statements
    entry_index_specification ::=
       for defining_identifier in discrete_subtype_definition
    
    See section 9.5.3 Entry Calls
    entry_call_statement ::= entry_name [actual_parameter_part];
    
    See section 9.5.4 Requeue Statements
    requeue_statement ::= requeue entry_name [with abort];
    
    See section 9.6 Delay Statements, Duration, and Time
    delay_statement ::= delay_until_statement | delay_relative_statement
    
    See section 9.6 Delay Statements, Duration, and Time
    delay_until_statement ::= delay until delay_expression;
    
    See section 9.6 Delay Statements, Duration, and Time
    delay_relative_statement ::= delay delay_expression;
    
    See section 9.7 Select Statements
    select_statement ::=
         selective_accept
       | timed_entry_call
       | conditional_entry_call
       | asynchronous_select
    
    See section 9.7.1 Selective Accept
    selective_accept ::=
       select
          [guard]
          select_alternative
       { or
          [guard]
          select_alternative }
       [ else
          sequence_of_statements ]
      end select;
    
    See section 9.7.1 Selective Accept
    guard ::= when condition =>
    
    See section 9.7.1 Selective Accept
    select_alternative ::=
         accept_alternative
       | delay_alternative
       | terminate_alternative
    
    See section 9.7.1 Selective Accept
    accept_alternative ::=
    accept_statement [sequence_of_statements]
    
    See section 9.7.1 Selective Accept
    delay_alternative ::=
    delay_statement [sequence_of_statements]
    
    See section 9.7.1 Selective Accept
    terminate_alternative ::= terminate;
    
    See section 9.7.2 Timed Entry Calls
    timed_entry_call ::=
       select
          entry_call_alternative
       or
          delay_alternative
       end select;
    
    See section 9.7.2 Timed Entry Calls
    entry_call_alternative ::=
       entry_call_statement [sequence_of_statements]
    
    See section 9.7.3 Conditional Entry Calls
    conditional_entry_call ::=
       select
          entry_call_alternative
       else
          sequence_of_statements
       end select;
    
    See section 9.7.4 Asynchronous Transfer of Control
    asynchronous_select ::=
       select
          triggering_alternative
       then abort
          abortable_part
       end select;
    
    See section 9.7.4 Asynchronous Transfer of Control
    triggering_alternative ::=
       triggering_statement [sequence_of_statements]
    
    See section 9.7.4 Asynchronous Transfer of Control
    triggering_statement ::= entry_call_statement | delay_statement
    
    See section 9.7.4 Asynchronous Transfer of Control
    abortable_part ::= sequence_of_statements
    
    See section 9.8 Abort of a Task - Abort of a Sequence of Statements
    abort_statement ::= abort task_name {, task_name};
    
    See section 10.1.1 Compilation Units - Library Units
    compilation ::= {compilation_unit}
    
    See section 10.1.1 Compilation Units - Library Units
    compilation_unit ::=
         context_clause library_item
       | context_clause subunit
    
    See section 10.1.1 Compilation Units - Library Units
    library_item ::= [private] library_unit_declaration
       | library_unit_body
       | [private] library_unit_renaming_declaration
    
    See section 10.1.1 Compilation Units - Library Units
    library_unit_declaration ::=
         subprogram_declaration | package_declaration
       | generic_declaration    | generic_instantiation
    
    See section 10.1.1 Compilation Units - Library Units
    library_unit_renaming_declaration ::=
         package_renaming_declaration
       | generic_renaming_declaration
       | subprogram_renaming_declaration
    
    See section 10.1.1 Compilation Units - Library Units
    library_unit_body ::= subprogram_body | package_body
    
    See section 10.1.1 Compilation Units - Library Units
    parent_unit_name ::= name
    
    See section 10.1.2 Context Clauses - With Clauses
    context_clause ::= {context_item}
    
    See section 10.1.2 Context Clauses - With Clauses
    context_item ::= with_clause | use_clause
    
    See section 10.1.2 Context Clauses - With Clauses
    with_clause ::= with library_unit_name {, library_unit_name};
    
    See section 10.1.3 Subunits of Compilation Units
    body_stub ::=
         subprogram_body_stub
       | package_body_stub
       | task_body_stub
       | protected_body_stub
    
    See section 10.1.3 Subunits of Compilation Units
    subprogram_body_stub ::= subprogram_specification is separate;
    
    See section 10.1.3 Subunits of Compilation Units
    package_body_stub ::= package body defining_identifier is separate;
    
    See section 10.1.3 Subunits of Compilation Units
    task_body_stub ::= task body defining_identifier is separate;
    
    See section 10.1.3 Subunits of Compilation Units
    protected_body_stub ::=
       protected body defining_identifier is separate;
    
    See section 10.1.3 Subunits of Compilation Units
    subunit ::= separate (parent_unit_name) proper_body
    
    See section 11.1 Exception Declarations
    exception_declaration ::= defining_identifier_list : exception;
    
    See section 11.2 Exception Handlers
    handled_sequence_of_statements ::=
          sequence_of_statements
       [exception
          exception_handler
          {exception_handler}]
    
    See section 11.2 Exception Handlers
    exception_handler ::=
      when [choice_parameter_specification:] exception_choice
        {| exception_choice} =>
         sequence_of_statements
    
    See section 11.2 Exception Handlers
    choice_parameter_specification ::= defining_identifier
    
    See section 11.2 Exception Handlers
    exception_choice ::= exception_name | others
    
    See section 11.3 Raise Statements
    raise_statement ::= raise [exception_name];
    
    See section 12.1 Generic Declarations
    generic_declaration ::=
       generic_subprogram_declaration | generic_package_declaration
    
    See section 12.1 Generic Declarations
    generic_subprogram_declaration ::=
       generic_formal_part subprogram_specification;
    
    See section 12.1 Generic Declarations
    generic_package_declaration ::=
       generic_formal_part package_specification;
    
    See section 12.1 Generic Declarations
    generic_formal_part ::=
       generic {generic_formal_parameter_declaration | use_clause}
    
    See section 12.1 Generic Declarations
    generic_formal_parameter_declaration ::=
          formal_object_declaration
        | formal_type_declaration
        | formal_subprogram_declaration
        | formal_package_declaration
    
    See section 12.3 Generic Instantiation
    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];
    
    See section 12.3 Generic Instantiation
    generic_actual_part ::=
       (generic_association {, generic_association})
    
    See section 12.3 Generic Instantiation
    generic_association ::=
       [generic_formal_parameter_selector_name =>]
         explicit_generic_actual_parameter
    
    See section 12.3 Generic Instantiation
    explicit_generic_actual_parameter ::= expression | variable_name
       | subprogram_name | entry_name | subtype_mark
       | package_instance_name
    
    See section 12.4 Formal Objects
    formal_object_declaration ::=
       defining_identifier_list : mode subtype_mark
         [:= default_expression];
    
    See section 12.5 Formal Types
    formal_type_declaration ::=
       type defining_identifier[discriminant_part] is
         formal_type_definition;
    
    See section 12.5 Formal Types
    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
    
    See section 12.5.1 Formal Private and Derived Types
    formal_private_type_definition ::=
       [[abstract] tagged] [limited] private
    
    See section 12.5.1 Formal Private and Derived Types
    formal_derived_type_definition ::=
       [abstract] new subtype_mark [with private]
    
    See section 12.5.2 Formal Scalar Types
    formal_discrete_type_definition ::= (<>)
    
    See section 12.5.2 Formal Scalar Types
    formal_signed_integer_type_definition ::= range <>
    
    See section 12.5.2 Formal Scalar Types
    formal_modular_type_definition ::= mod <>
    
    See section 12.5.2 Formal Scalar Types
    formal_floating_point_definition ::= digits <>
    
    See section 12.5.2 Formal Scalar Types
    formal_ordinary_fixed_point_definition ::= delta <>
    
    See section 12.5.2 Formal Scalar Types
    formal_decimal_fixed_point_definition ::= delta <> digits <>
    
    See section 12.5.3 Formal Array Types
    formal_array_type_definition ::= array_type_definition
    
    See section 12.5.4 Formal Access Types
    formal_access_type_definition ::= access_type_definition
    
    See section 12.6 Formal Subprograms
    formal_subprogram_declaration ::=
       with subprogram_specification [is subprogram_default];
    
    See section 12.6 Formal Subprograms
    subprogram_default ::= default_name | <>
    
    See section 12.6 Formal Subprograms
    default_name ::= name
    
    See section 12.7 Formal Packages
    formal_package_declaration ::=
       with package defining_identifier is new
         generic_package_name formal_package_actual_part;
    
    See section 12.7 Formal Packages
    formal_package_actual_part ::= (<>) | [generic_actual_part]
    
    See section 13.1 Representation Items
    representation_clause ::=
         attribute_definition_clause
       | enumeration_representation_clause
       | record_representation_clause
       | at_clause
    
    See section 13.1 Representation Items
    local_name ::=
         direct_name
       | direct_name'attribute_designator
       | library_unit_name
    
    See section 13.3 Representation Attributes
    attribute_definition_clause ::=
         for local_name'attribute_designator use expression;
       | for local_name'attribute_designator use name;
    
    See section 13.4 Enumeration Representation Clauses
    enumeration_representation_clause ::=
       for first_subtype_local_name use enumeration_aggregate;
    
    See section 13.4 Enumeration Representation Clauses
    enumeration_aggregate ::= array_aggregate
    
    See section 13.5.1 Record Representation Clauses
    record_representation_clause ::=
       for first_subtype_local_name use
          record [mod_clause]
             {component_clause}
          end record;
    
    See section 13.5.1 Record Representation Clauses
    component_clause ::=
       component_local_name at position range first_bit .. last_bit;
    
    See section 13.5.1 Record Representation Clauses
    position ::= static_expression
    
    See section 13.5.1 Record Representation Clauses
    first_bit ::= static_simple_expression
    
    See section 13.5.1 Record Representation Clauses
    last_bit ::= static_simple_expression
    
    See section 13.8 Machine Code Insertions
    code_statement ::= qualified_expression;
    
    See section 13.12 Pragma Restrictions
    restriction ::= restriction_identifier
       | restriction_parameter_identifier => expression
    
    See section J.3 Reduced Accuracy Subtypes
    delta_constraint ::= delta static_expression [range_constraint]
    
    See section J.7 At Clauses
    at_clause ::= for direct_name use at expression;
    
    See section J.8 Mod Clauses
    mod_clause ::= at mod static_expression;
    
    

    SYNTAX CROSS REFERENCE

  2. abort_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    abortable_part
       asynchronous_select                  See section 9.7.4 Asynchronous Transfer of Control
    
    abstract_subprogram_declaration
       basic_declaration                    See section 3.1 Declarations
    
    accept_alternative
       select_alternative                   See section 9.7.1 Selective Accept
    
    accept_statement
       accept_alternative                   See section 9.7.1 Selective Accept
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    access_definition
       discriminant_specification           See section 3.7 Discriminants
       parameter_specification              See section 6.1 Subprogram Declarations
    
    access_type_definition
       formal_access_type_definition        See section 12.5.4 Formal Access Types
       type_definition                      See section 3.2.1 Type Declarations
    
    access_to_object_definition
       access_type_definition               See section 3.10 Access Types
    
    access_to_subprogram_definition
       access_type_definition               See section 3.10 Access Types
    
    actual_parameter_part
       entry_call_statement                 See section 9.5.3 Entry Calls
       function_call                        See section 6.4 Subprogram Calls
       procedure_call_statement             See section 6.4 Subprogram Calls
    
    aggregate
       primary                              See section 4.4 Expressions
       qualified_expression                 See section 4.7 Qualified Expressions
    
    allocator
       primary                              See section 4.4 Expressions
    
    ancestor_part
       extension_aggregate                  See section 4.3.2 Extension Aggregates
    
    array_aggregate
       aggregate                            See section 4.3 Aggregates
       enumeration_aggregate                See section 13.4 Enumeration Representation Clauses
    
    array_component_association
       named_array_aggregate                See section 4.3.3 Array Aggregates
    
    array_type_definition
       formal_array_type_definition         See section 12.5.3 Formal Array Types
       object_declaration                   See section 3.3.1 Object Declarations
       type_definition                      See section 3.2.1 Type Declarations
    
    assignment_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    asynchronous_select
       select_statement                     See section 9.7 Select Statements
    
    at_clause
       representation_clause                See section 13.1 Representation Items
    
    attribute_definition_clause
       representation_clause                See section 13.1 Representation Items
    
    attribute_designator
       attribute_definition_clause          See section 13.3 Representation Attributes
       attribute_reference                  See section 4.1.4 Attributes
       local_name                           See section 13.1 Representation Items
    
    attribute_reference
       name                                 See section 4.1 Names
    
    base
       based_literal                        See section 2.4.2 Based Literals
    
    based_literal
       numeric_literal                      See section 2.4 Numeric Literals
    
    based_numeral
       based_literal                        See section 2.4.2 Based Literals
    
    basic_declaration
       basic_declarative_item               See section 3.11 Declarative Parts
    
    basic_declarative_item
       declarative_item                     See section 3.11 Declarative Parts
       package_specification                See section 7.1 Package Specifications and Declarations
    
    binary_adding_operator
       simple_expression                    See section 4.4 Expressions
    
    block_statement
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    body
       declarative_item                     See section 3.11 Declarative Parts
    
    body_stub
       body                                 See section 3.11 Declarative Parts
    
    case_statement
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    case_statement_alternative
       case_statement                       See section 5.4 Case Statements
    
    character
       comment                              See section 2.7 Comments
    
    character_literal
       defining_character_literal           See section 3.5.1 Enumeration Types
       name                                 See section 4.1 Names
       selector_name                        See section 4.1.3 Selected Components
    
    choice_parameter_specification
       exception_handler                    See section 11.2 Exception Handlers
    
    code_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    compilation_unit
       compilation                          See section 10.1.1 Compilation Units - Library Units
    
    component_choice_list
       record_component_association         See section 4.3.1 Record Aggregates
    
    component_clause
       record_representation_clause         See section 13.5.1 Record Representation Clauses
    
    component_declaration
       component_item                       See section 3.8 Record Types
       protected_element_declaration        See section 9.4 Protected Units and Protected Objects
    
    component_definition
       component_declaration                See section 3.8 Record Types
       constrained_array_definition         See section 3.6 Array Types
       unconstrained_array_definition       See section 3.6 Array Types
    
    component_item
       component_list                       See section 3.8 Record Types
    
    component_list
       record_definition                    See section 3.8 Record Types
       variant                              See section 3.8.1 Variant Parts and Discrete Choices
    
    composite_constraint
       constraint                           See section 3.2.2 Subtype Declarations
    
    compound_statement
       statement                            See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    condition
       entry_barrier                        See section 9.5.2 Entries and Accept Statements
       exit_statement                       See section 5.7 Exit Statements
       guard                                See section 9.7.1 Selective Accept
       if_statement                         See section 5.3 If Statements
       iteration_scheme                     See section 5.5 Loop Statements
    
    conditional_entry_call
       select_statement                     See section 9.7 Select Statements
    
    constrained_array_definition
       array_type_definition                See section 3.6 Array Types
    
    constraint
       subtype_indication                   See section 3.2.2 Subtype Declarations
    
    context_clause
       compilation_unit                     See section 10.1.1 Compilation Units - Library Units
    
    context_item
       context_clause                       See section 10.1.2 Context Clauses - With Clauses
    
    decimal_fixed_point_definition
       fixed_point_definition               See section 3.5.9 Fixed Point Types
    
    decimal_literal
       numeric_literal                      See section 2.4 Numeric Literals
    
    declarative_item
       declarative_part                     See section 3.11 Declarative Parts
    
    declarative_part
       block_statement                      See section 5.6 Block Statements
       entry_body                           See section 9.5.2 Entries and Accept Statements
       package_body                         See section 7.2 Package Bodies
       subprogram_body                      See section 6.3 Subprogram Bodies
       task_body                            See section 9.1 Task Units and Task Objects
    default_expression
       component_declaration                See section 3.8 Record Types
       discriminant_specification           See section 3.7 Discriminants
       formal_object_declaration            See section 12.4 Formal Objects
       parameter_specification              See section 6.1 Subprogram Declarations
    
    default_name
       subprogram_default                   See section 12.6 Formal Subprograms
    
    defining_character_literal
       enumeration_literal_specification    See section 3.5.1 Enumeration Types
    
    defining_designator
       generic_instantiation                See section 12.3 Generic Instantiation
       subprogram_specification             See section 6.1 Subprogram Declarations
    
    defining_identifier
       choice_parameter_specification       See section 11.2 Exception Handlers
       defining_identifier_list             See section 3.3.1 Object Declarations
       defining_program_unit_name           See section 6.1 Subprogram Declarations
       entry_body                           See section 9.5.2 Entries and Accept Statements
       entry_declaration                    See section 9.5.2 Entries and Accept Statements
       entry_index_specification            See section 9.5.2 Entries and Accept Statements
       enumeration_literal_specification    See section 3.5.1 Enumeration Types
       exception_renaming_declaration       See section 8.5.2 Exception Renaming Declarations
       formal_package_declaration           See section 12.7 Formal Packages
       formal_type_declaration              See section 12.5 Formal Types
       full_type_declaration                See section 3.2.1 Type Declarations
       incomplete_type_declaration          See section 3.10.1 Incomplete Type Declarations
       loop_parameter_specification         See section 5.5 Loop Statements
       object_renaming_declaration          See section 8.5.1 Object Renaming Declarations
       package_body_stub                    See section 10.1.3 Subunits of Compilation Units
       private_extension_declaration        See section 7.3 Private Types and Private Extensions
       private_type_declaration             See section 7.3 Private Types and Private Extensions
       protected_body                       See section 9.4 Protected Units and Protected Objects
       protected_body_stub                  See section 10.1.3 Subunits of Compilation Units
       protected_type_declaration           See section 9.4 Protected Units and Protected Objects
       single_protected_declaration         See section 9.4 Protected Units and Protected Objects
       single_task_declaration              See section 9.1 Task Units and Task Objects
       subtype_declaration                  See section 3.2.2 Subtype Declarations
       task_body                            See section 9.1 Task Units and Task Objects
       task_body_stub                       See section 10.1.3 Subunits of Compilation Units
       task_type_declaration                See section 9.1 Task Units and Task Objects
    
    defining_identifier_list
       component_declaration                See section 3.8 Record Types
       discriminant_specification           See section 3.7 Discriminants
       exception_declaration                See section 11.1 Exception Declarations
       formal_object_declaration            See section 12.4 Formal Objects
       number_declaration                   See section 3.3.2 Number Declarations
       object_declaration                   See section 3.3.1 Object Declarations
       parameter_specification              See section 6.1 Subprogram Declarations
    
    defining_operator_symbol
       defining_designator                  See section 6.1 Subprogram Declarations
    
    defining_program_unit_name
       defining_designator                  See section 6.1 Subprogram Declarations
       generic_instantiation                See section 12.3 Generic Instantiation
       generic_renaming_declaration         See section 8.5.5 Generic Renaming Declarations
       package_body                         See section 7.2 Package Bodies
       package_renaming_declaration         See section 8.5.3 Package Renaming Declarations
       package_specification                See section 7.1 Package Specifications and Declarations
       subprogram_specification             See section 6.1 Subprogram Declarations
    
    delay_alternative
       select_alternative                   See section 9.7.1 Selective Accept
       timed_entry_call                     See section 9.7.2 Timed Entry Calls
    
    delay_relative_statement
       delay_statement                      See section 9.6 Delay Statements, Duration, and Time
    
    delay_statement
       delay_alternative                    See section 9.7.1 Selective Accept
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
       triggering_statement                 See section 9.7.4 Asynchronous Transfer of Control
    
    delay_until_statement
       delay_statement                      See section 9.6 Delay Statements, Duration, and Time
    
    delta_constraint
       scalar_constraint                    See section 3.2.2 Subtype Declarations
    
    derived_type_definition
       type_definition                      See section 3.2.1 Type Declarations
    
    designator
       subprogram_body                      See section 6.3 Subprogram Bodies
    
    digit
       extended_digit                       See section 2.4.2 Based Literals
       graphic_character                    See section 2.1 Character Set
       letter_or_digit                      See section 2.3 Identifiers
       numeral                              See section 2.4.1 Decimal Literals
    
    digits_constraint
       scalar_constraint                    See section 3.2.2 Subtype Declarations
    
    direct_name
       accept_statement                     See section 9.5.2 Entries and Accept Statements
       at_clause                            See section J.7 At Clauses
       local_name                           See section 13.1 Representation Items
       name                                 See section 4.1 Names
       statement_identifier                 See section 5.1 Simple and Compound Statements - Sequences of Statements
       variant_part                         See section 3.8.1 Variant Parts and Discrete Choices
    
    discrete_choice
       discrete_choice_list                 See section 3.8.1 Variant Parts and Discrete Choices
    
    discrete_choice_list
       array_component_association          See section 4.3.3 Array Aggregates
       case_statement_alternative           See section 5.4 Case Statements
       variant                              See section 3.8.1 Variant Parts and Discrete Choices
    
    discrete_range
       discrete_choice                      See section 3.8.1 Variant Parts and Discrete Choices
       index_constraint                     See section 3.6.1 Index Constraints and Discrete Ranges
       slice                                See section 4.1.2 Slices
    
    discrete_subtype_definition
       constrained_array_definition         See section 3.6 Array Types
       entry_declaration                    See section 9.5.2 Entries and Accept Statements
       entry_index_specification            See section 9.5.2 Entries and Accept Statements
       loop_parameter_specification         See section 5.5 Loop Statements
    
    discriminant_association
       discriminant_constraint              See section 3.7.1 Discriminant Constraints
    
    discriminant_constraint
       composite_constraint                 See section 3.2.2 Subtype Declarations
    
    discriminant_part
       formal_type_declaration              See section 12.5 Formal Types
       incomplete_type_declaration          See section 3.10.1 Incomplete Type Declarations
       private_extension_declaration        See section 7.3 Private Types and Private Extensions
       private_type_declaration             See section 7.3 Private Types and Private Extensions
    
    discriminant_specification
       known_discriminant_part              See section 3.7 Discriminants
    
    entry_barrier
       entry_body                           See section 9.5.2 Entries and Accept Statements
    
    entry_body
       protected_operation_item             See section 9.4 Protected Units and Protected Objects
    
    entry_body_formal_part
       entry_body                           See section 9.5.2 Entries and Accept Statements
    
    entry_call_alternative
       conditional_entry_call               See section 9.7.3 Conditional Entry Calls
       timed_entry_call                     See section 9.7.2 Timed Entry Calls
    
    entry_call_statement
       entry_call_alternative               See section 9.7.2 Timed Entry Calls
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
       triggering_statement                 See section 9.7.4 Asynchronous Transfer of Control
    
    entry_declaration
       protected_operation_declaration      See section 9.4 Protected Units and Protected Objects
       task_item                            See section 9.1 Task Units and Task Objects
    
    entry_index
       accept_statement                     See section 9.5.2 Entries and Accept Statements
    
    entry_index_specification
       entry_body_formal_part               See section 9.5.2 Entries and Accept Statements
    
    enumeration_aggregate
       enumeration_representation_clause    See section 13.4 Enumeration Representation Clauses
    
    enumeration_literal_specification
       enumeration_type_definition          See section 3.5.1 Enumeration Types
    
    enumeration_representation_clause
       representation_clause                See section 13.1 Representation Items
    
    enumeration_type_definition
       type_definition                      See section 3.2.1 Type Declarations
    
    exception_choice
       exception_handler                    See section 11.2 Exception Handlers
    
    exception_declaration
       basic_declaration                    See section 3.1 Declarations
    
    exception_handler
       handled_sequence_of_statements       See section 11.2 Exception Handlers
    
    exception_renaming_declaration
       renaming_declaration                 See section 8.5 Renaming Declarations
    
    exit_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    explicit_actual_parameter
       parameter_association                See section 6.4 Subprogram Calls
    
    explicit_dereference
       name                                 See section 4.1 Names
    
    explicit_generic_actual_parameter
       generic_association                  See section 12.3 Generic Instantiation
    
    exponent
       based_literal                        See section 2.4.2 Based Literals
       decimal_literal                      See section 2.4.1 Decimal Literals
    
    expression
       ancestor_part                        See section 4.3.2 Extension Aggregates
       array_component_association          See section 4.3.3 Array Aggregates
       assignment_statement                 See section 5.2 Assignment Statements
       at_clause                            See section J.7 At Clauses
       attribute_definition_clause          See section 13.3 Representation Attributes
       attribute_designator                 See section 4.1.4 Attributes
       case_statement                       See section 5.4 Case Statements
       condition                            See section 5.3 If Statements
       decimal_fixed_point_definition       See section 3.5.9 Fixed Point Types
       default_expression                   See section 3.7 Discriminants
       delay_relative_statement             See section 9.6 Delay Statements, Duration, and Time
       delay_until_statement                See section 9.6 Delay Statements, Duration, and Time
       delta_constraint                     See section J.3 Reduced Accuracy Subtypes
       digits_constraint                    See section 3.5.9 Fixed Point Types
       discrete_choice                      See section 3.8.1 Variant Parts and Discrete Choices
       discriminant_association             See section 3.7.1 Discriminant Constraints
       entry_index                          See section 9.5.2 Entries and Accept Statements
       explicit_actual_parameter            See section 6.4 Subprogram Calls
       explicit_generic_actual_parameter    See section 12.3 Generic Instantiation
       floating_point_definition            See section 3.5.7 Floating Point Types
       indexed_component                    See section 4.1.1 Indexed Components
       mod_clause                           See section J.8 Mod Clauses
       modular_type_definition              See section 3.5.4 Integer Types
       number_declaration                   See section 3.3.2 Number Declarations
       object_declaration                   See section 3.3.1 Object Declarations
       ordinary_fixed_point_definition      See section 3.5.9 Fixed Point Types
       position                             See section 13.5.1 Record Representation Clauses
       positional_array_aggregate           See section 4.3.3 Array Aggregates
       pragma_argument_association          See section 2.8 Pragmas
       primary                              See section 4.4 Expressions
       qualified_expression                 See section 4.7 Qualified Expressions
       range_attribute_designator           See section 4.1.4 Attributes
       record_component_association         See section 4.3.1 Record Aggregates
       restriction                          See section 13.12 Pragma Restrictions
       return_statement                     See section 6.5 Return Statements
       type_conversion                      See section 4.6 Type Conversions
    
    extended_digit
       based_numeral                        See section 2.4.2 Based Literals
    
    extension_aggregate
       aggregate                            See section 4.3 Aggregates
    
    factor
       term                                 See section 4.4 Expressions
    
    first_bit
       component_clause                     See section 13.5.1 Record Representation Clauses
    
    fixed_point_definition
       real_type_definition                 See section 3.5.6 Real Types
    
    floating_point_definition
       real_type_definition                 See section 3.5.6 Real Types
    
    formal_access_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_array_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_decimal_fixed_point_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_derived_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_discrete_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_floating_point_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_modular_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_object_declaration
       generic_formal_parameter_declaration See section 12.1 Generic Declarations
    
    formal_ordinary_fixed_point_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_package_actual_part
       formal_package_declaration           See section 12.7 Formal Packages
    
    formal_package_declaration
       generic_formal_parameter_declaration See section 12.1 Generic Declarations
    
    formal_part
       parameter_and_result_profile         See section 6.1 Subprogram Declarations
       parameter_profile                    See section 6.1 Subprogram Declarations
    
    formal_private_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_signed_integer_type_definition
       formal_type_definition               See section 12.5 Formal Types
    
    formal_subprogram_declaration
       generic_formal_parameter_declaration See section 12.1 Generic Declarations
    
    formal_type_declaration
       generic_formal_parameter_declaration See section 12.1 Generic Declarations
    
    formal_type_definition
       formal_type_declaration              See section 12.5 Formal Types
    
    format_effector
       character                            See section 2.1 Character Set
    
    full_type_declaration
       type_declaration                     See section 3.2.1 Type Declarations
    
    function_call
       name                                 See section 4.1 Names
    
    general_access_modifier
       access_to_object_definition          See section 3.10 Access Types
    
    generic_actual_part
       formal_package_actual_part           See section 12.7 Formal Packages
       generic_instantiation                See section 12.3 Generic Instantiation
    
    generic_association
       generic_actual_part                  See section 12.3 Generic Instantiation
    
    generic_declaration
       basic_declaration                    See section 3.1 Declarations
       library_unit_declaration             See section 10.1.1 Compilation Units - Library Units
    
    generic_formal_parameter_declaration
       generic_formal_part                  See section 12.1 Generic Declarations
    
    generic_formal_part
       generic_package_declaration          See section 12.1 Generic Declarations
       generic_subprogram_declaration       See section 12.1 Generic Declarations
    
    generic_instantiation
       basic_declaration                    See section 3.1 Declarations
       library_unit_declaration             See section 10.1.1 Compilation Units - Library Units
    
    generic_package_declaration
       generic_declaration                  See section 12.1 Generic Declarations
    
    generic_renaming_declaration
       library_unit_renaming_declaration    See section 10.1.1 Compilation Units - Library Units
       renaming_declaration                 See section 8.5 Renaming Declarations
    
    generic_subprogram_declaration
       generic_declaration                  See section 12.1 Generic Declarations
    
    goto_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    graphic_character
       character                            See section 2.1 Character Set
       character_literal                    See section 2.5 Character Literals
       string_element                       See section 2.6 String Literals
    
    guard
       selective_accept                     See section 9.7.1 Selective Accept
    
    handled_sequence_of_statements
       accept_statement                     See section 9.5.2 Entries and Accept Statements
       block_statement                      See section 5.6 Block Statements
       entry_body                           See section 9.5.2 Entries and Accept Statements
       package_body                         See section 7.2 Package Bodies
       subprogram_body                      See section 6.3 Subprogram Bodies
       task_body                            See section 9.1 Task Units and Task Objects
    
    identifier
       accept_statement                     See section 9.5.2 Entries and Accept Statements
       attribute_designator                 See section 4.1.4 Attributes
       block_statement                      See section 5.6 Block Statements
       defining_identifier                  See section 3.1 Declarations
       designator                           See section 6.1 Subprogram Declarations
       direct_name                          See section 4.1 Names
       entry_body                           See section 9.5.2 Entries and Accept Statements
       loop_statement                       See section 5.5 Loop Statements
       package_body                         See section 7.2 Package Bodies
       package_specification                See section 7.1 Package Specifications and Declarations
       pragma                               See section 2.8 Pragmas
       pragma_argument_association          See section 2.8 Pragmas
       protected_body                       See section 9.4 Protected Units and Protected Objects
       protected_definition                 See section 9.4 Protected Units and Protected Objects
       restriction                          See section 13.12 Pragma Restrictions
       selector_name                        See section 4.1.3 Selected Components
       task_body                            See section 9.1 Task Units and Task Objects
       task_definition                      See section 9.1 Task Units and Task Objects
    
    identifier_letter
       graphic_character                    See section 2.1 Character Set
       identifier                           See section 2.3 Identifiers
       letter_or_digit                      See section 2.3 Identifiers
    
    if_statement
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    implicit_dereference
       prefix                               See section 4.1 Names
    
    incomplete_type_declaration
       type_declaration                     See section 3.2.1 Type Declarations
    
    index_constraint
       composite_constraint                 See section 3.2.2 Subtype Declarations
    
    index_subtype_definition
       unconstrained_array_definition       See section 3.6 Array Types
    
    indexed_component
       name                                 See section 4.1 Names
    
    integer_type_definition
       type_definition                      See section 3.2.1 Type Declarations
    
    iteration_scheme
       loop_statement                       See section 5.5 Loop Statements
    
    known_discriminant_part
       discriminant_part                    See section 3.7 Discriminants
       full_type_declaration                See section 3.2.1 Type Declarations
       protected_type_declaration           See section 9.4 Protected Units and Protected Objects
       task_type_declaration                See section 9.1 Task Units and Task Objects
    
    label
       statement                            See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    last_bit
       component_clause                     See section 13.5.1 Record Representation Clauses
    
    letter_or_digit
       identifier                           See section 2.3 Identifiers
    
    library_item
       compilation_unit                     See section 10.1.1 Compilation Units - Library Units
    
    library_unit_body
       library_item                         See section 10.1.1 Compilation Units - Library Units
    
    library_unit_declaration
       library_item                         See section 10.1.1 Compilation Units - Library Units
    
    library_unit_renaming_declaration
       library_item                         See section 10.1.1 Compilation Units - Library Units
    
    local_name
       attribute_definition_clause          See section 13.3 Representation Attributes
       component_clause                     See section 13.5.1 Record Representation Clauses
       enumeration_representation_clause    See section 13.4 Enumeration Representation Clauses
       record_representation_clause         See section 13.5.1 Record Representation Clauses
    
    loop_parameter_specification
       iteration_scheme                     See section 5.5 Loop Statements
    
    loop_statement
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    mod_clause
       record_representation_clause         See section 13.5.1 Record Representation Clauses
    
    mode
       formal_object_declaration            See section 12.4 Formal Objects
       parameter_specification              See section 6.1 Subprogram Declarations
    
    modular_type_definition
       integer_type_definition              See section 3.5.4 Integer Types
    
    multiplying_operator
       term                                 See section 4.4 Expressions
    
    name
       abort_statement                      See section 9.8 Abort of a Task - Abort of a Sequence of Statements
       assignment_statement                 See section 5.2 Assignment Statements
       attribute_definition_clause          See section 13.3 Representation Attributes
       default_name                         See section 12.6 Formal Subprograms
       entry_call_statement                 See section 9.5.3 Entry Calls
       exception_choice                     See section 11.2 Exception Handlers
       exception_renaming_declaration       See section 8.5.2 Exception Renaming Declarations
       exit_statement                       See section 5.7 Exit Statements
       explicit_actual_parameter            See section 6.4 Subprogram Calls
       explicit_dereference                 See section 4.1 Names
       explicit_generic_actual_parameter    See section 12.3 Generic Instantiation
       formal_package_declaration           See section 12.7 Formal Packages
       function_call                        See section 6.4 Subprogram Calls
       generic_instantiation                See section 12.3 Generic Instantiation
       generic_renaming_declaration         See section 8.5.5 Generic Renaming Declarations
       goto_statement                       See section 5.8 Goto Statements
       implicit_dereference                 See section 4.1 Names
       local_name                           See section 13.1 Representation Items
       object_renaming_declaration          See section 8.5.1 Object Renaming Declarations
       package_renaming_declaration         See section 8.5.3 Package Renaming Declarations
       parent_unit_name                     See section 10.1.1 Compilation Units - Library Units
       pragma_argument_association          See section 2.8 Pragmas
       prefix                               See section 4.1 Names
       primary                              See section 4.4 Expressions
       procedure_call_statement             See section 6.4 Subprogram Calls
       raise_statement                      See section 11.3 Raise Statements
       requeue_statement                    See section 9.5.4 Requeue Statements
       subprogram_renaming_declaration      See section 8.5.4 Subprogram Renaming Declarations
       subtype_mark                         See section 3.2.2 Subtype Declarations
       type_conversion                      See section 4.6 Type Conversions
       use_package_clause                   See section 8.4 Use Clauses
       with_clause                          See section 10.1.2 Context Clauses - With Clauses
    
    named_array_aggregate
       array_aggregate                      See section 4.3.3 Array Aggregates
    
    null_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    number_declaration
       basic_declaration                    See section 3.1 Declarations
    
    numeral
       base                                 See section 2.4.2 Based Literals
       decimal_literal                      See section 2.4.1 Decimal Literals
       exponent                             See section 2.4.1 Decimal Literals
    
    numeric_literal
       primary                              See section 4.4 Expressions
    
    object_declaration
       basic_declaration                    See section 3.1 Declarations
    
    object_renaming_declaration
       renaming_declaration                 See section 8.5 Renaming Declarations
    
    operator_symbol
       defining_operator_symbol             See section 6.1 Subprogram Declarations
       designator                           See section 6.1 Subprogram Declarations
       direct_name                          See section 4.1 Names
       selector_name                        See section 4.1.3 Selected Components
    
    ordinary_fixed_point_definition
       fixed_point_definition               See section 3.5.9 Fixed Point Types
    
    other_control_function
       character                            See section 2.1 Character Set
    
    package_body
       library_unit_body                    See section 10.1.1 Compilation Units - Library Units
       proper_body                          See section 3.11 Declarative Parts
    
    package_body_stub
       body_stub                            See section 10.1.3 Subunits of Compilation Units
    
    package_declaration
       basic_declaration                    See section 3.1 Declarations
       library_unit_declaration             See section 10.1.1 Compilation Units - Library Units
    
    package_renaming_declaration
       library_unit_renaming_declaration    See section 10.1.1 Compilation Units - Library Units
       renaming_declaration                 See section 8.5 Renaming Declarations
    
    package_specification
       generic_package_declaration          See section 12.1 Generic Declarations
       package_declaration                  See section 7.1 Package Specifications and Declarations
    
    parameter_and_result_profile
       access_to_subprogram_definition      See section 3.10 Access Types
       subprogram_specification             See section 6.1 Subprogram Declarations
    
    parameter_association
       actual_parameter_part                See section 6.4 Subprogram Calls
    
    parameter_profile
       accept_statement                     See section 9.5.2 Entries and Accept Statements
       access_to_subprogram_definition      See section 3.10 Access Types
       entry_body_formal_part               See section 9.5.2 Entries and Accept Statements
       entry_declaration                    See section 9.5.2 Entries and Accept Statements
       subprogram_specification             See section 6.1 Subprogram Declarations
    
    parameter_specification
       formal_part                          See section 6.1 Subprogram Declarations
    
    parent_unit_name
       defining_program_unit_name           See section 6.1 Subprogram Declarations
       designator                           See section 6.1 Subprogram Declarations
       package_body                         See section 7.2 Package Bodies
       package_specification                See section 7.1 Package Specifications and Declarations
       subunit                              See section 10.1.3 Subunits of Compilation Units
    
    position
       component_clause                     See section 13.5.1 Record Representation Clauses
    
    positional_array_aggregate
       array_aggregate                      See section 4.3.3 Array Aggregates
    
    pragma_argument_association
       pragma                               See section 2.8 Pragmas
    
    prefix
       attribute_reference                  See section 4.1.4 Attributes
       function_call                        See section 6.4 Subprogram Calls
       indexed_component                    See section 4.1.1 Indexed Components
       procedure_call_statement             See section 6.4 Subprogram Calls
       range_attribute_reference            See section 4.1.4 Attributes
       selected_component                   See section 4.1.3 Selected Components
       slice                                See section 4.1.2 Slices
    
    primary
       factor                               See section 4.4 Expressions
    
    private_extension_declaration
       type_declaration                     See section 3.2.1 Type Declarations
    
    private_type_declaration
       type_declaration                     See section 3.2.1 Type Declarations
    
    procedure_call_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    proper_body
       body                                 See section 3.11 Declarative Parts
       subunit                              See section 10.1.3 Subunits of Compilation Units
    
    protected_body
       proper_body                          See section 3.11 Declarative Parts
    
    protected_body_stub
       body_stub                            See section 10.1.3 Subunits of Compilation Units
    
    protected_definition
       protected_type_declaration           See section 9.4 Protected Units and Protected Objects
       single_protected_declaration         See section 9.4 Protected Units and Protected Objects
    
    protected_element_declaration
       protected_definition                 See section 9.4 Protected Units and Protected Objects
    
    protected_operation_declaration
       protected_definition                 See section 9.4 Protected Units and Protected Objects
       protected_element_declaration        See section 9.4 Protected Units and Protected Objects
    
    protected_operation_item
       protected_body                       See section 9.4 Protected Units and Protected Objects
    
    protected_type_declaration
       full_type_declaration                See section 3.2.1 Type Declarations
    
    qualified_expression
       allocator                            See section 4.8 Allocators
       code_statement                       See section 13.8 Machine Code Insertions
       primary                              See section 4.4 Expressions
    
    raise_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    range
       discrete_range                       See section 3.6.1 Index Constraints and Discrete Ranges
       discrete_subtype_definition          See section 3.6 Array Types
       range_constraint                     See section 3.5 Scalar Types
       relation                             See section 4.4 Expressions
    
    range_attribute_designator
       range_attribute_reference            See section 4.1.4 Attributes
    
    range_attribute_reference
       range                                See section 3.5 Scalar Types
    
    range_constraint
       delta_constraint                     See section J.3 Reduced Accuracy Subtypes
       digits_constraint                    See section 3.5.9 Fixed Point Types
       scalar_constraint                    See section 3.2.2 Subtype Declarations
    
    real_range_specification
       decimal_fixed_point_definition       See section 3.5.9 Fixed Point Types
       floating_point_definition            See section 3.5.7 Floating Point Types
       ordinary_fixed_point_definition      See section 3.5.9 Fixed Point Types
    
    real_type_definition
       type_definition                      See section 3.2.1 Type Declarations
    
    record_aggregate
       aggregate                            See section 4.3 Aggregates
    
    record_component_association
       record_component_association_list    See section 4.3.1 Record Aggregates
    
    record_component_association_list
       extension_aggregate                  See section 4.3.2 Extension Aggregates
       record_aggregate                     See section 4.3.1 Record Aggregates
    
    record_definition
       record_extension_part                See section 3.9.1 Type Extensions
       record_type_definition               See section 3.8 Record Types
    
    record_extension_part
       derived_type_definition              See section 3.4 Derived Types and Classes
    
    record_representation_clause
       representation_clause                See section 13.1 Representation Items
    
    record_type_definition
       type_definition                      See section 3.2.1 Type Declarations
    
    relation
       expression                           See section 4.4 Expressions
    
    relational_operator
       relation                             See section 4.4 Expressions
    
    renaming_declaration
       basic_declaration                    See section 3.1 Declarations
    
    representation_clause
       basic_declarative_item               See section 3.11 Declarative Parts
       component_item                       See section 3.8 Record Types
       protected_operation_declaration      See section 9.4 Protected Units and Protected Objects
       protected_operation_item             See section 9.4 Protected Units and Protected Objects
       task_item                            See section 9.1 Task Units and Task Objects
    
    requeue_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    return_statement
       simple_statement                     See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    scalar_constraint
       constraint                           See section 3.2.2 Subtype Declarations
    
    select_alternative
       selective_accept                     See section 9.7.1 Selective Accept
    
    select_statement
       compound_statement                   See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    selected_component
       name                                 See section 4.1 Names
    
    selective_accept
       select_statement                     See section 9.7 Select Statements
    
    selector_name
       component_choice_list                See section 4.3.1 Record Aggregates
       discriminant_association             See section 3.7.1 Discriminant Constraints
       generic_association                  See section 12.3 Generic Instantiation
       parameter_association                See section 6.4 Subprogram Calls
       selected_component                   See section 4.1.3 Selected Components
    
    sequence_of_statements
       abortable_part                       See section 9.7.4 Asynchronous Transfer of Control
       accept_alternative                   See section 9.7.1 Selective Accept
       case_statement_alternative           See section 5.4 Case Statements
       conditional_entry_call               See section 9.7.3 Conditional Entry Calls
       delay_alternative                    See section 9.7.1 Selective Accept
       entry_call_alternative               See section 9.7.2 Timed Entry Calls
       exception_handler                    See section 11.2 Exception Handlers
       handled_sequence_of_statements       See section 11.2 Exception Handlers
       if_statement                         See section 5.3 If Statements
       loop_statement                       See section 5.5 Loop Statements
       selective_accept                     See section 9.7.1 Selective Accept
       triggering_alternative               See section 9.7.4 Asynchronous Transfer of Control
    
    signed_integer_type_definition
       integer_type_definition              See section 3.5.4 Integer Types
    
    simple_expression
       first_bit                            See section 13.5.1 Record Representation Clauses
       last_bit                             See section 13.5.1 Record Representation Clauses
       range                                See section 3.5 Scalar Types
       real_range_specification             See section 3.5.7 Floating Point Types
       relation                             See section 4.4 Expressions
       signed_integer_type_definition       See section 3.5.4 Integer Types
    
    simple_statement
       statement                            See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    single_protected_declaration
       object_declaration                   See section 3.3.1 Object Declarations
    
    single_task_declaration
       object_declaration                   See section 3.3.1 Object Declarations
    
    slice
       name                                 See section 4.1 Names
    
    space_character
       graphic_character                    See section 2.1 Character Set
    
    special_character
       graphic_character                    See section 2.1 Character Set
    
    statement
       sequence_of_statements               See section 5.1 Simple and Compound Statements - Sequences of Statements
    
    statement_identifier
       block_statement                      See section 5.6 Block Statements
       label                                See section 5.1 Simple and Compound Statements - Sequences of Statements
       loop_statement                       See section 5.5 Loop Statements
    string_element
       string_literal                       See section 2.6 String Literals
    
    string_literal
       operator_symbol                      See section 6.1 Subprogram Declarations
       primary                              See section 4.4 Expressions
    
    subprogram_body
       library_unit_body                    See section 10.1.1 Compilation Units - Library Units
       proper_body                          See section 3.11 Declarative Parts
       protected_operation_item             See section 9.4 Protected Units and Protected Objects
    
    subprogram_body_stub
       body_stub                            See section 10.1.3 Subunits of Compilation Units
    
    subprogram_declaration
       basic_declaration                    See section 3.1 Declarations
       library_unit_declaration             See section 10.1.1 Compilation Units - Library Units
       protected_operation_declaration      See section 9.4 Protected Units and Protected Objects
       protected_operation_item             See section 9.4 Protected Units and Protected Objects
    
    subprogram_default
       formal_subprogram_declaration        See section 12.6 Formal Subprograms
    
    subprogram_renaming_declaration
       library_unit_renaming_declaration    See section 10.1.1 Compilation Units - Library Units
       renaming_declaration                 See section 8.5 Renaming Declarations
    
    subprogram_specification
       abstract_subprogram_declaration      See section 6.1 Subprogram Declarations
       formal_subprogram_declaration        See section 12.6 Formal Subprograms
       generic_subprogram_declaration       See section 12.1 Generic Declarations
       subprogram_body                      See section 6.3 Subprogram Bodies
       subprogram_body_stub                 See section 10.1.3 Subunits of Compilation Units
       subprogram_declaration               See section 6.1 Subprogram Declarations
       subprogram_renaming_declaration      See section 8.5.4 Subprogram Renaming Declarations
    
    subtype_declaration
       basic_declaration                    See section 3.1 Declarations
    
    subtype_indication
       access_to_object_definition          See section 3.10 Access Types
       allocator                            See section 4.8 Allocators
       component_definition                 See section 3.6 Array Types
       derived_type_definition              See section 3.4 Derived Types and Classes
       discrete_range                       See section 3.6.1 Index Constraints and Discrete Ranges
       discrete_subtype_definition          See section 3.6 Array Types
       object_declaration                   See section 3.3.1 Object Declarations
       private_extension_declaration        See section 7.3 Private Types and Private Extensions
       subtype_declaration                  See section 3.2.2 Subtype Declarations
    
    subtype_mark
       access_definition                    See section 3.10 Access Types
       ancestor_part                        See section 4.3.2 Extension Aggregates
       discriminant_specification           See section 3.7 Discriminants
       explicit_generic_actual_parameter    See section 12.3 Generic Instantiation
       formal_derived_type_definition       See section 12.5.1 Formal Private and Derived Types
       formal_object_declaration            See section 12.4 Formal Objects
       index_subtype_definition             See section 3.6 Array Types
       object_renaming_declaration          See section 8.5.1 Object Renaming Declarations
       parameter_and_result_profile         See section 6.1 Subprogram Declarations
       parameter_specification              See section 6.1 Subprogram Declarations
       qualified_expression                 See section 4.7 Qualified Expressions
       relation                             See section 4.4 Expressions
       subtype_indication                   See section 3.2.2 Subtype Declarations
       type_conversion                      See section 4.6 Type Conversions
       use_type_clause                      See section 8.4 Use Clauses
    
    subunit
       compilation_unit                     See section 10.1.1 Compilation Units - Library Units
    
    task_body
       proper_body                          See section 3.11 Declarative Parts
    
    task_body_stub
       body_stub                            See section 10.1.3 Subunits of Compilation Units
    
    task_definition
       single_task_declaration              See section 9.1 Task Units and Task Objects
       task_type_declaration                See section 9.1 Task Units and Task Objects
    
    task_item
       task_definition                      See section 9.1 Task Units and Task Objects
    
    task_type_declaration
       full_type_declaration                See section 3.2.1 Type Declarations
    
    term
       simple_expression                    See section 4.4 Expressions
    
    terminate_alternative
       select_alternative                   See section 9.7.1 Selective Accept
    
    timed_entry_call
       select_statement                     See section 9.7 Select Statements
    
    triggering_alternative
       asynchronous_select                  See section 9.7.4 Asynchronous Transfer of Control
    
    triggering_statement
       triggering_alternative               See section 9.7.4 Asynchronous Transfer of Control
    
    type_conversion
       name                                 See section 4.1 Names
    
    type_declaration
       basic_declaration                    See section 3.1 Declarations
    
    type_definition
       full_type_declaration                See section 3.2.1 Type Declarations
    
    unary_adding_operator
       simple_expression                    See section 4.4 Expressions
    
    unconstrained_array_definition
       array_type_definition                See section 3.6 Array Types
    
    underline
       based_numeral                        See section 2.4.2 Based Literals
       identifier                           See section 2.3 Identifiers
       numeral                              See section 2.4.1 Decimal Literals
    
    unknown_discriminant_part
       discriminant_part                    See section 3.7 Discriminants
    
    use_clause
       basic_declarative_item               See section 3.11 Declarative Parts
       context_item                         See section 10.1.2 Context Clauses - With Clauses
       generic_formal_part                  See section 12.1 Generic Declarations
    
    use_package_clause
       use_clause                           See section 8.4 Use Clauses
    
    use_type_clause
       use_clause                           See section 8.4 Use Clauses
    
    variant
       variant_part                         See section 3.8.1 Variant Parts and Discrete Choices
    
    variant_part
       component_list                       See section 3.8 Record Types
    
    with_clause
       context_item                         See section 10.1.2 Context Clauses - With Clauses
    


Go to the first, previous, next, last section, table of contents.