Contents   Index   Search   Previous   Next
 5.3 If Statements
1
   An if_statement
selects for execution at most one of the enclosed sequences_of_statements,
depending on the (truth) value of one or more corresponding conditions.
Syntax
2
if_statement
::= 
    if condition then
      sequence_of_statements
   {
elsif condition then
      sequence_of_statements}
   [
else
      sequence_of_statements]
    
end if;
 
3
condition
::= boolean_expression 
Name Resolution Rules
4
   A 
condition
is expected to be of any boolean type. 
 
Dynamic Semantics
5
   For the execution of an 
if_statement,
the 
condition specified after 
if,
and any 
conditions specified after
elsif, are evaluated in succession (treating a final 
else
as 
elsif True 
then), until one evaluates to True or all
conditions are evaluated and yield
False. If a 
condition evaluates
to True, then the corresponding 
sequence_of_statements
is executed; otherwise none of them is executed. 
 
Examples
6
   Examples of if
statements: 
7
if Month = December and Day = 31 then
   Month := January;
   Day   := 1;
   Year  := Year + 1;
end if;
8
if Line_Too_Short then
   raise Layout_Error;
elsif Line_Full then
   New_Line;
   Put(Item);
else
   Put(Item);
end if;
9
if My_Car.Owner.Vehicle /= My_Car then            --  see 3.10.1
   Report ("Incorrect data");
end if; 
Contents   Index   Search   Previous   Next   Legal