package_spec ::=
[PRAGMA SERIALLY_REUSABLE;]
{
collection_type_definition
| record_type_definition
| subtype_definition
| collection_declaration
| constant_declaration
| exception_declaration
| object_declaration
| record_declaration
| variable_declaration
| cursor_spec
| function_spec
| procedure_spec
| call spec
| PRAGMA RESTRICT_REFERENCES
}
[ {
collection_type_definition
| record_type_definition
| subtype_definition
| collection_declaration
| constant_declaration
| exception_declaration
| object_declaration
| record_declaration
| variable_declaration
| cursor_spec
| function_spec
| procedure_spec
| call spec
| PRAGMA RESTRICT_REFERENCES
}]...
END [package_name];