Correct. Conformant arrays are optional, so that isn't the *real* change to the language ... It is this :
When you have a procedure or function (A), as a formal parameter of another procedure or function (B), you must declare it's (A) formal parameters (as shown in example 6 in section 6.11.6 of ISO-10206; there's probably a similar example given in ISO-7185, although haven't looked for it).
This (declaring the formal parameter of a formal parameter ;-) wasn't required in the original language definition, in the "User Manual and Report".
"Otherwise" was a common and useful extension to the language, but *non-standard*, prior to ISO-10206 (of course, Borland recycled the word "else", just to be different!).
Joe.
-----Original Message----- From: Frank Heckenbach [SMTP:frank@g-n-u.de] Sent: Thursday, October 18, 2001 7:43 AM To: cbfalconer@worldnet.att.net; gpc@gnu.de Subject: Re: Errors and Standards (was: compiler bug)
CBFalconer wrote:
"Classic" is a perfect description of ISO-7185 (thanks,
Prospero),
since it corresponds exactly (well, with just one change,
suggested
by Wirth) to the language originally defined in the 'User
Manual
and Report' published by Jensen and Wirth, in 1974.
What is this one change, BTW?
Conformant arrays. Also some tightening up. The existance of any change was a big battle between the US and the world, circa 1980, resulting in level 0 and level 1 as a compromise. OTHERWISE was in the earlier drafts too.
Conformant arrays are the only difference between 7185 level 0 and 1, aren't they? So level 0 is completely equivalent to original Wirth Pascal? Or did Wirth Pascal contain `otherwise'?
Frank
-- Frank Heckenbach, frank@g-n-u.de, http://fjf.gnu.de/ GPC To-Do list, latest features, fixed bugs: http://agnes.dida.physik.uni-essen.de/~gnu-pascal/todo.html
"da Silva, Joe" wrote:
Correct. Conformant arrays are optional, so that isn't the *real* change to the language ... It is this :
When you have a procedure or function (A), as a formal parameter of another procedure or function (B), you must declare it's (A) formal parameters (as shown in example 6 in section 6.11.6 of ISO-10206; there's probably a similar example given in ISO-7185, although haven't looked for it).
This (declaring the formal parameter of a formal parameter ;-) wasn't required in the original language definition, in the "User Manual and Report".
Yes. Forgot about that. I never implemented procedural parameters in PascalP, so it was not uppermost in my memory. I had the run time organized, but not the parsing.
da Silva, Joe wrote:
Correct. Conformant arrays are optional, so that isn't the *real* change to the language ... It is this :
When you have a procedure or function (A), as a formal parameter of another procedure or function (B), you must declare it's (A) formal parameters (as shown in example 6 in section 6.11.6 of ISO-10206; there's probably a similar example given in ISO-7185, although haven't looked for it).
This (declaring the formal parameter of a formal parameter ;-) wasn't required in the original language definition, in the "User Manual and Report".
What do you mean exactly? Did they allow parameter names to be omitted (syntax?), or no parameter list at all? The latter would seem strange to me since it would be type-unsafe.
Could you give an example of something that's valid in J&W, but not ISO 7185?
"Otherwise" was a common and useful extension to the language, but *non-standard*, prior to ISO-10206 (of course, Borland recycled the word "else", just to be different!).
... and to introduce yet another ambiguity into their dialect ...
Frank