Checksum: 26824 Lines: 28 Path: utzoo!sq!msb From: msb@sq.uucp (Mark Brader) Date: Tue, 29-Dec-87 06:38:19 EST Message-ID: <1987Dec29.063819.11692@sq.uucp> Newsgroups: comp.lang.c Subject: Re: Clarifications on ANSI C nits Summary: a reason why int f(int a, int b); is better than int f(int a,b;); References: <3725@hoptoad.uucp> <458@m10ux.UUCP> Reply-To: msb@sq.UUCP (Mark Brader) Organization: SoftQuad Inc., Toronto Michael Condict (mnc@m10ux.UUCP) expresses regret that the new function prototype syntax uses commas rather than semicolons as delimiters, and asks: > Am I the only one bothered by this? I've noticed no other discussion of it. No, I asked the same question well over a year ago. As I recall, the answer given was that if semicolons were allowed then error recovery became very hard. Notice that the following would be VALID input: int f (int a, b; float c; char *p, s[20]; int p (int q, r;); ); Now that I think of it, the force of this argument seems somewhat weakened since, if I understand correctly (my copy of the latest Draft being at the office, and me not), even under the existing syntax a declaration such as int f (struct {int p, q;} r); is legal and does contain embedded semicolons. Hmm. Mark Brader "C takes the point of view SoftQuad Inc., Toronto that the programmer is always right" utzoo!sq!msb, msb@sq.com -- Michael DeCorte