PL/I, unlike many other programming languages, does not reserve any word’s usage.
This implies that it is syntaxically valid to use the keyword
IF as variable names for instance.
But doing so results in confusing code which is hard to read, especially in editors without proper PL/I syntax highlighting support.
Noncompliant Code Example
foo: proc options(main);
declare if fixed decimal init (42); /* Non-Compliant */
if if = 42 then do; /* Cconfusing */
put list ('if = 42');
go to goto; /* Confusing */
goto: /* Non-Compliant */