Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help


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;


Prev | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help

Ada WWW Home -- Email comments, additions, corrections, gripes, kudos, etc. to:

Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12