The new and old compilers all allow you to close more than one DO, SELECT, BEGIN or PROCEDURE group with one END statement, although the new compiler will issue an I-level message.
However, closing multiple groups with one END statement is not a good programming practice, and the compiler option RULES(NOMULTICLOSE) allows you to force the compiler to flag such code with an E-level message. For example, under this option the compiler would object to the following code:
a: do i = 1 to 17;
b: do j = 1 to 29;
t = x(i,j); /* transpose i and j
x(i,j) = x(j,i);
x(j,i) = t;
end b; /* end of loop */
end a;
Note that since the first comment is unclosed, the end a; closes both DO loops.