Andres K. Foerster wrote:
which is probably useless anyways as long as the PVS isn't free in the gnu sense.
What is PVS?
Pascal Validation Suite.
Whether the standards are open, doesn't really matter for a GNU project.
Indeed. AFAIK, there isn't even a Borland Pascal validation suite (unless perhaps hidden inside Borland, but I've never heard of one), so is it impossible to aim for BP compatibility? Obviously not, as both projects do so.
And even a non-free test suite can be useful (though less useful than a fully free one, of course). If someone ran the suite through GPC, and only told me which tests fail (and possibly for which reasons), this would already help me. (Scott Moore indicated to me that he is willing to do this after the next GPC release, now that he OCR'd the PVS from the PUG newsletters.) Probably we can then write our own (free) tests for whichever new issues will be found, based on the descriptions. And if we finally get a report that GPC passes a non-free PVS, that's (in effect) almost as good as passing a free PVS.
And of course, a test suite can never cover every aspect of a standard, so the PVS isn't everything, anyway. Many users of GPC have found ISO deviations which have been fixed meanwhile and while probably not all were covered by PVS. Some time ago, Artur Zaroda who develops another Pascal compiler, ran his own tests on GPC and in the process found and reported some 50 ISO bugs to us. And not least, Waldek and I have carefully studied various aspects of the standards and thus found some GPC bugs (and sometimes even "bugs" in the standards).
Actually I think, thought the standard's language is not very readable, it's ultimately easier than providing BP compatibility. With BP, we (as well as you) have the manual and the compiler. In cases of doubt, we can read the manual and test the compiler. If they disadgree (as they do in a few cases), we can only guess which behaviour is more reasonable (and there's no authoritative statement such as a standard document -- in fact, I think most programmers coming from BP would consider the compiler's behaviour more important than what the manual says, in case of disagreement). And, of course, there are many cases where a behaviour is not specified in the manual (and usually should not be specified IMHO), but BP programmers rely on a particular behaviour that exists under BP (sometimes only as a coindicence of some Dos pecularities or something). I suppose you know this just as well as I do ...
So in summary, IMHO, the first steps may be easier in BP compatibility, but when it comes to the hard cases, a written standard is better. Of course, a complete, correct and free test suite would be best, but this is something that doesn't exist anywhere.
Anyways, why should somebody care? If you want a compiler trying to be iso standard compliant: use GPC; if you want a compiler trying to be Borland compatible: use FPC.
But you must admit, that most Borland extensions are very DOS/Windows specific, while the extensions from Extended Pascal are designed to be very portable.
And also many are rather low-level, including the stuff they blindly copied from C (#0-terminated strings, 0-based arrays in open arrays, etc.) ...
But again, I'm not so much complaining about extensions. I use some of the better Borland extensions myself in code. But I wouldn't want to live with many of the Borland omissions anymore. Sometimes I use GPC as an ISO compliant compliler, sometimes (especially for my older code that I originally wrote under BP) I use it as a "better BP", which is BP compatible but allows me to remove many kludges I had to do under BP.
Frank