Subject | RE: [IB-Architect] enhancement to procedure/trigger language |
---|---|
Author | Leyne, Sean |
Post date | 2001-06-06T19:40:17Z |
Jim,
IMHO, the label/leave seems to be nothing but a fancy way of performing
a "goto".
That's the net effect of the label/leave approach suggested.
begin
level 1;
for select ....
do begin
if ...
leave 1;
level 2;
for select ...
do begin
if ...
leave 2;
else if ...
leave 1;
else ...
end;
end;
end;
actually would work out to be equivalent to:
begin
for select ....
do begin
if ...
goto finish;
for select ...
do begin
if ...
goto endloop;
else if ...
goto finish;
else ...
end;
ENDLOOP:
end;
FINISH:
end;
<sarcastic>
Heck, why don't we implement "goto", if that's the effect people want?
</sarcastic>
The 'break' statement, while requiring a couple of extra statements to
loop out of the additional level (as required), eliminates the ugliness
of the "goto" concept.
Sean
IMHO, the label/leave seems to be nothing but a fancy way of performing
a "goto".
That's the net effect of the label/leave approach suggested.
begin
level 1;
for select ....
do begin
if ...
leave 1;
level 2;
for select ...
do begin
if ...
leave 2;
else if ...
leave 1;
else ...
end;
end;
end;
actually would work out to be equivalent to:
begin
for select ....
do begin
if ...
goto finish;
for select ...
do begin
if ...
goto endloop;
else if ...
goto finish;
else ...
end;
ENDLOOP:
end;
FINISH:
end;
<sarcastic>
Heck, why don't we implement "goto", if that's the effect people want?
</sarcastic>
The 'break' statement, while requiring a couple of extra statements to
loop out of the additional level (as required), eliminates the ugliness
of the "goto" concept.
Sean