[Home] [Prev] [Next] [Index]
5.3 If Statements
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.
- 5.a
- Ramification: The part about all evaluating to False can't happen if there is an else, since that is herein considered equivalent to elsif True then.
- 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;
[Home] [Prev] [Next] [Index]
documentation@rational.com
Copyright © 1993-1998, Rational Software Corporation. All rights
reserved.