subprogram_specification ::= ( "procedure" defining_program_unit_name [ formal_part ] ) | ( "function" defining_designator [ formal_part ] "return" subtype_mark )
This rule is called by-> abstract_subprogram_declaration -> formal_subprogram_declaration -> generic_declaration -> generic_subprogram_declaration -> renaming_declaration -> subprogram_body -> subprogram_body_stub -> subprogram_declaration -> subprogram_renaming_declaration