Phil Nelson wrote:
Although gpc ain't a commercial product it should be build on wide acceptance.
I agree.
In past nobody was interested in any pascal-standards but Borland.
I disagree. Borland did not write ISO 7185 and 10206. If they did, those standards would look a lot different. Units would be part of the standard, which they are not.
Borland-Pascal IMHO is the standard-pascal anyway.
I disagree.
I didn't mean Borland wrote that standards - sorry for the inexactitude - but Heimsoeth made the first real working and usable compiler for dos platfrom (which had an overwhelming piece of market of about 85% of personal computers that day). Computers and therefore they established a "quasi"-pascal-standard. That IS and WILL BE my opinion and reason because doesn't release Quick-Pascal any- or Visiual-Pascal furthermore. (Congratulations Borland)
gpc really shall default to borland/turbo-pascal behaviour. You could
I disagree.
Clearly from context: not for standardization reasons; but for reasons of portability.
I did like the suggestion that gpc could be started from several links, gpc (ie. ISO standard Pascal/ISO Extended Pascal) and bpc (Borland Pascal). I do believe that gpc should support(emulate) Borland Pascal to support Borland Pascal users. But gpc should not standardly be Borland.
gpc ain't borland pascal guy, but remember: people use borland, borland is habitual, schools teach borland.
give somthing like
"i= 7 ?"
Because that is how a majority of Pascal compilers do it.
But the majority is using borland and therefore this behaviour IS NOT USUAL for the majority of programmers, source-code-programs etc.pp. Maybe it is for YOU and YOUR compiler.
And to ask a furthur question, why should {-------------snip--------------} for i := 1 to 5 do write(a[i]); writeln; {-------------snip--------------} produce output for which you can not distinguish the elements of a?
nb. The Borland Pascal behaviour conforms to ISO 10206 too. How about
Are your sure about this? Full Extended Pascal? From my exprience,
We are talking about the default behaviour. i.e. the parameter next to double-dot is missing. And we are talking abount write(integer), aren't we?
Cutting strings is a completely different case, because 'write(s:x)' with length(s)>x does really make sense only if the string is cutted.
it violates 6.10.3.6. (and 6.9.3.6 in ISO 7185.) If there is a way to make it not violate the above quoted paragraphs, I'd really like to know how.
You are right, but declaring Default-TotalWidth(integer)=0 (or 1) conforms to 6.10.3.3, the output will be a left aligned number, so we can beat "quasi" borland-compatibility and your need of standard-conformance. Once again: WHY NOT, why should it be defined to 5, 8, 10 or whatever value you want? from 6.10.3.1 "the default values shall be implementation- defined", perhaps gpc will be an implementation on it's own. Not conforming to Borland, USCD, IBM-Pascal or whatsoever.
-- Phil Nelson NetBSD: http://www.netbsd.org e-mail: phil@cs.wwu.edu LPF: http://www.lpf.org http://www.cs.wwu.edu/~phil !gifs: http://www.lpf.org/Patent/Gif/Gif.html
================================================================= Sven Engelhardt http://www.sax.net/ mailto:se@sik.de