5.6 Block Statements

From OC Systems Wiki!
Jump to: navigation, search

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];

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

A block_statement that has no explicit declarative_part has an implicit empty declarative_part.

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;

Copyright © 1992,1993,1994,1995 Intermetrics, Inc.
Copyright © 2000 The MITRE Corporation, Inc. Ada Reference Manual