Ada 2012 Reference Manual
5.6 Block Statements
A block_statement encloses a handled_sequence_of_statements optionally preceded by a declarative_part.
Syntax
block_statement ::=
[block_statement_identifier:]
[declare
declarative_part]
begin
handled_sequence_of_statements
end [block_identifier];
[block_statement_identifier:]
[declare
declarative_part]
begin
handled_sequence_of_statements
end [block_identifier];
If a block_statement has a block_statement_identifier, then the identifier shall be repeated after the end; otherwise, there shall not be an identifier after the end.
Static Semantics
Dynamic Semantics
The execution of a block_statement consists of the elaboration of its declarative_part followed by the execution of its handled_sequence_of_statements.
Examples
Example of a block statement with a local variable:
Swap:
declare
Temp : Integer;
begin
Temp := V; V := U; U := Temp;
end Swap;
declare
Temp : Integer;
begin
Temp := V; V := U; U := Temp;
end Swap;