Next: , Previous: 3.10.2, Up: 3


3.11 Declarative Parts

1
A declarative_part contains declarative_items (possibly none).

Syntax

2

declarative_part::= {declarative_item}

3

declarative_item::=
    basic_declarative_item body

4/1

basic_declarative_item::=
    basic_declaration aspect_clause use_clause

5

body::= proper_body body_stub

6

proper_body::=
    subprogram_body package_body task_body protected_body
Static Semantics

6.1/2
The list of declarative_items of a declarative_part is called the declaration list of the declarative_part.

Dynamic Semantics

7
The elaboration of a declarative_part consists of the elaboration of the declarative_items, if any, in the order in which they are given in the declarative_part.

8
An elaborable construct is in the elaborated state after the normal completion of its elaboration. Prior to that, it is not yet elaborated.

9
For a construct that attempts to use a body, a check (Elaboration_Check) is performed, as follows:

10/1

11

12

13

14
The exception Program_Error is raised if any of these checks fails.