System Debug Reference Manual (32650-90888)
Chapter 5 183
System Debug Command Specifications Fx-LOG
IF
IF
If
condition
evaluates to TRUE, then execute all commands in
cmdlist
, else execute all
commands in
cmdlist2
.
Syntax
IF
condition
THEN
command
IF
condition
THEN {
cmdlist
}
IF
condition
THEN
command1
ELSE
command2
IF
condition
THEN {
cmdlist
} ELSE
command2
IF
condition
THEN
command1
ELSE {
cmdlist2
}
IF
condition
THEN {
cmdlist
} ELSE {
cmdlist2
}
Parameters
condition
A logical expression to be evaluated.
command cmdlist
A single command (or command list) that is executed if
condition
evaluates to TRUE.
command2 cmdlist2
A single command (or command list) that is executed if
condition
evaluates to FALSE.
Note that in nested IF-THEN-ELSE clauses, the first ELSE clause
always
matches the first
IF clause. This is different from the conventions of most compilers, and it may not be
intuitive. Explicit use of
{cmdlists}
is recommended in these nested cases.
Examples
%cmdebug > if [q-3]>[db+4] then c
If the contents of Q−3 are greater than the contents of DB+4, then continue.
$nmdebug > if (length>20) and (pcsf=a) then {wl "GOT IT"; c}
If the value of the variable length is greater than 20, and the contents of the predefined
variable pcsf equals $a, then execute the following from the command list: print the string
"GOT IT", then continue.
$nmdat > if 1 then {if 0 then wl "wee" else wl "willy"} else wl "wonka"
willy
This example shows a nested IF-THEN-ELSE clause within a
cmdlist
clause.
Limitations, Restrictions
The interpreter does not parse or analyze the contents of the clauses prior to their
execution. Based on the value of the condition, the THEN or ELSE clause is be executed, and