I recently wrote the following syntax segment. Note that M1DLQ13 is an
already defined variable in the dataset.
DO REPEAT STEM=M1DLQA1 M1DLQB1 M1DLQC1 M1DLQD1.
+ DO IF (M1DLQ13 EQ 2).
+ COMPUTE STEM=8.
+ ELSE IF (M1DLQ13 EQ 9).
+ COMPUTE STEM=9.
+ END IF.
My question is this. As i read the explanation of this command in the syntax
reference, it seems as if this command structure shouldn't work. However,
there is no execution error and it executes correctly when pre and
post-transformation values are compared. Have i just plainly misread the
documentation? Or, is there something more subtle that i'm missing? Have
others used this structure and had problems? I'd be interested to know.
More generally, I'd be interested if anywone knows whether the syntax
reference defines just the minimum elements that have to be present (here,
at least one stand in variable and an associated replacement variable list
for each stand in variable) or whether it defines the elements that must be
exclusively present (here, at least one stand in variable and an associated
variable list for each stand in variable, and no other variables). Stated
another way, what is the true relationship between the syntax reference and
the subroutines that check the syntax for errors?