Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!ames!elroy!peregrine!ccicpg!nick From: nick@ccicpg.UUCP (Nick Crossley) Newsgroups: comp.std.c Subject: Re: Reserved identifiers, was Re: Thoughts on moving towards ANSI Summary: ANSI C has near infinite 'reserved words' Message-ID: <14228@ccicpg.UUCP> Date: 14 Feb 89 19:29:34 GMT References: <50499@yale-celray.yale.UUCP> Reply-To: nick@ccicpg.UUCP (Nick Crossley) Organization: CCI CPG, Irvine CA Lines: 30 In article <50499@yale-celray.yale.UUCP> leichter@cs.yale.edu (Jerry Leichter) writes: >...They also had experience with COBOL, >which has perhaps the longest list of reserved words of any extant language. >(Well, if you count in all the "reserved" things in the library, ANSI C in a >hosted environment is now a strong competitor!)... Surely, with the reservation of all 'isxxx', 'toxxx', 'strxxx', etc., words for future use, ANSI C is easily the winner. Let's see; 'is' followed by a lower case letter (36 possibilities), followed by up to 3 more characters, each of which is an upper or lower case letter or a digit or an underscore = 26 + 26*83 + 26*83*83 + 26*83*83*83 = 15047760! Macro names can, I believe, be up to 31 characters, so the Exxx names have E(uppercase letter or digit)(up to 29 letters or digits or _), which gives a number somewhere around 1e57!! Note that these names are reserved whether or not any headers are included (or at least the external names are; the draft seems to imply by this that the Exxx macro names are not reserved unless you include ). This is based on the May 13th draft; I do not expect this has changed since then. Do any actual or proposed compiler/lint implementations give warnings when one of these 'reserved for future use' identifiers is used? -- <<< standard disclaimers >>> Nick Crossley, CCI, 9801 Muirlands, Irvine, CA 92718-2521, USA. (714) 458-7282 uunet!ccicpg!nick / nick@ccicpg.UUCP