[fpc-pascal] Legitimate use of for and break

Bernd Oppolzer bernd.oppolzer at t-online.de
Sun Jun 18 08:53:47 CEST 2023


Am 18.06.2023 um 03:04 schrieb Hairy Pixels via fpc-pascal:
>
>> On Jun 18, 2023, at 1:07 AM, tsiegel at softcon.com wrote:
>>
>> This is interesting, because it's the first time I've ever seen "break" as a valid command in pascal, and I've been using pascal since the mid/late 80s.  All kinds of dialects too, and I've never seen break as a keyword.  C, Python, Perl, sure, even shell scripts, but pascal? Never seen it used before.  Is this a relatively new addition to fpc or something?
> I don't remember break NOT being in Pascal. How did you exit a loop otherwise, goto? Break is common in basically all languages now. Can't think of a language I've used without it.
>
FWIW, when I started to work on New Stanford Pascal 
(http://bernd-oppolzer.de/job9.htm)
in 2011, the very first thing that I did was to add BREAK, CONTINUE and 
RETURN to this compiler.
New Stanford Pascal is an offspring of the Zürich P4 compiler from the 
1970s, directly from
the working group of Niklaus Wirth (who was at Stanford, too, BTW).

The compiler is a self-hosting compiler (like most Pascal compilers, I 
believe) and up to 2011
there were many exits from loops bye putting a label after the loop and 
using GOTO
(because of the absence of BREAK). Similar use of GOTO to implement 
CONTINUE and RETURN.

I got rid of most of these labels (if not all) by adding these three 
keywords. This was easy.
I did many extensions to the compiler later (from 2016 on) and ported 
the compiler to Windows and
Linux etc.; the compiler, which had 6.000 lines in 2011, now has over 
25.000 lines :-)

Kind regards

Bernd

> Regards,
> 	Ryan Joseph


More information about the fpc-pascal mailing list