----------------- -- My_Function -- ----------------- procedure My_Function is begin ... end My_Function;
Note that the name in the header is preceded by a single space, not two spaces as for other comments. These headers are used on nested subprograms as well as outer level subprograms. They may also be used as headers for sections of comments, or collections of declarations that are related.
begin
of the enclosing
subprogram, there is a comment line and a blank line:
-- Start of processing for Enclosing_Subprogram begin ... end Enclosing_Subprogram;
procedure Style1 is Var_Referenced_In_Nested : Integer; Var_Referenced_Only_In_Style1 : Integer; proc Nested; -- Comments ... ------------ -- Nested -- ------------ procedure Nested is begin ... end Nested; -- Start of processing for Style1 begin ... end Style1; procedure Style2 is Var_Referenced_In_Nested : Integer; proc Nested; -- Comments ... ------------ -- Nested -- ------------ procedure Nested is begin ... end Nested; -- Local variables Var_Referenced_Only_In_Style2 : Integer; -- Start of processing for Style2 begin ... end Style2;
For new code, we generally prefer Style2, but we do not insist on modifying all legacy occurrences of Style1, which is still much more common in the sources.