5.3 If Statements

From OC Systems Wiki!
< Guide:95lrm
Revision as of 23:37, 4 May 2019 by imported>WikiVisor (1 revision imported)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

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

if_statement ::=
    if condition then
         sequence_of_statements
    {elsif condition then
         sequence_of_statements}
    [else
         sequence_of_statements]
    end if;

condition ::= boolean_expression

Name Resolution Rules

A condition is expected to be of any boolean type.

Dynamic Semantics

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

Examples of if statements:

if Month = December and Day = 31 then 
     Month := January; 
     Day   := 1; 
     Year  := Year + 1;
end if;

if Line_Too_Short then 
     raise Layout_Error;
elsif Line_Full then 
     New_Line; 
     Put(Item);
else 
     Put(Item);
end if;

if My_Car.Owner.Vehicle /= My_Car then            --  see 3.10.1 
     Report ("Incorrect data");
end if;

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