Go to the first, previous, next, last section, table of contents.


5.6 Block Statements

  1. A block_statement encloses a handled_sequence_of_statements optionally preceded by a declarative_part.

    Syntax

  2. block_statement ::=
       [block_statement_identifier:]
          [declare
             declarative_part]
          begin
             handled_sequence_of_statements
          end [block_identifier];
    
    1. 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

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

    Dynamic Semantics

  2. 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

  3. Example of a block statement with a local variable:
  4. Swap:
       declare
          Temp : Integer;
       begin
          Temp := V; V := U; U := Temp;
       end Swap;
    


Go to the first, previous, next, last section, table of contents.