When published in 1970, the Pascal language did not have a way to implement the functionality equivalent to the (future) C language operators "break" and "continue". Their convenience having been recognized, extended dialects of Pascal have started to feature similar operators.
From the same documentation for an implementation of Pascal for a Soviet computer as here, dated 1979:
In accordance with the ideas of structural programming and the requirements of programming practice, the following control structures are introduced in the language:
Structural labels
An operator can be labeled with a structural label.
<operator> ::= { <label>: }* { ( <structural label> ) }* <unlabeled operator>
<structural label> ::= <identifier>
The scope of a structural label is the unlabeled operator.
exit operator
Within the scope of a structural label, e. g. "(M)", there may be operators exit M, equivalent to exiting the corresponding unlabeled operator.
Syntax
<exit operator> ::= exit <structural label>
goto operator
Syntax
<goto operator> ::= goto ( <label> | <structural label> )
A goto operator using a structural label may appear within the scope of that structural label. Its function is equivalent to the regular goto operator.
Structural labels realize the right of each operator to iterate and to complete.
(Most readers of the documentation would later misquote the last statement as "the inalienable right of each operator to iterate and to complete".)
TL;DR: Structural labels implement mechanisms akin to generalized "break" and "continue" operators on the C language. For example:
(outerloop) for i := 1 to 100 do
(innerloop) for j := 1 to 100 do
(iter) begin
...
exit iter; { same as continue in C }
...
exit innerloop; { same as break in C }
...
exit outerloop; { no convenient C analog }
end
Unlike regular numerical labels in Pascal, structural labels did not need to be pre-declared.
Turbo Pascal appeared in the 1980s and seems to have regular C-like break and continue.
The question is: Has any pre-1979 dialect of Pascal featured "structural labels", or any kind of break/continue functionality?
goto
andexit
to Pascal is of course a complete perversion of his ideas. These "features" were missing on purpose, not because of some "oversight". So the answer is probably "as soon as enough time had passed that there were people who didn't understand what Pascal was about, and had to muck with it, and were far enough removed from the creator so he couldn't berate them".break
andcontinue
or equivalents in the first version (or even for continuing this stubbornness). But as soon as the language is to be used for engineering, using "tamed gotos" is not a matter of taste, it is a matter of good programming practice. Therefore the point of the question is to find out which dialect of Pascal first catered to actual software developers.