[fpc-devel] "Blank slate" next version of FPC

Marco van de Voort core at pascalprogramming.org
Wed Feb 20 15:56:20 CET 2019

(sorry for the pm, Paul, should have gone to list)

Op 2/20/2019 om 3:32 PM schreef Paul van Helden:
> On Wed, Feb 20, 2019 at 3:52 PM Sven Barth via fpc-devel 
> <fpc-devel at lists.freepascal.org 
> <mailto:fpc-devel at lists.freepascal.org>> wrote:
>     Pascal is a language where declaration and use of variables is
>     separated. It makes it easy to see what variables are declared and
>     what type they are. Inline variables mess this up as a variable
>     can be declared somewhere inside the code.
> Now I'm curious. Can you point me to a resource where Pascal is 
> defined such that the separation of declaration from use is a central 
> tenet? I'm not sure, but I doubt I ever look at the variable 
> declarations to help understand the rest of the code...

I'm not really a Pascal semantics guy, but I'll give it a try:

Pascal is block oriented. At the end of a block is always the opener of 
a new block (var, type, procedure, begin), encountering these tokens in 
the wrong are typically a warning that something is wrong.Now what is 
that marker at the end of an inline variable block ? Afaik there is 
none. The next can be any statement in any form, and you must 
disambiguate yourself if a variable declaration is meant or not.

 From what I can see Embacadero avoids this by keeping all its examples 
one line, with the VAR on the same line. But Pascal is not line 
oriented, so this is also odd.

And keep in mind contrary to C/C++, Pascal is a limited lookahead parser.

So the whole feature reeks of Embacadero's desperation to keep bullet 
lists for new versions filled to keep people upgrading.

It has nothing to do with language design or better C/C++ syntax (*) or 
whatever. It is just a quick implementation in the hope to score some 
points with people that have participated in similar threads in 
Embarcadero groups. They just did a most minimal quick-and-dirty 
implementation and tossed on the feature matrix. Please upgrade.

(*) it is strange that people complain about scrolling 1000 lines up to 
see a declaration, but can effortlessly scan those 1000 lines for 
possible inline declarations without scrolling up.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.freepascal.org/pipermail/fpc-devel/attachments/20190220/facbca55/attachment.html>

More information about the fpc-devel mailing list