ANSI C token set (including $ and @)

Karl Heuer karl at haddock.ima.isc.com
Thu Jan 5 11:46:30 AEST 1989


Let's see if I've got this straight yet.

o  `$' is required to scan as a separate pp-token, despite existing practice
   making it an optional identifier-character.

o  When converting pp-tokens to tokens, an implementation is free to merge
   {foo}{$}{bar} into a single token {foo$bar}.  (I'm guessing on this one.)

o  But, since macro expansion happens first, it is {foo}, and not {foo$bar},
   that is subject to macro replacement, even if the above is true.

o  Hence, certain features of DEC and APOLLO implementations cannot be
   conforming.

o  DEC and APOLLO, through their representatives on X3J11, are aware of the
   above and accept it.  Their ANSI C implementations, if any, will not use
   `$' in identifiers.

o  Non-English letters, which are clearly not usable in a strictly conforming
   program, are in fact not usable in *any* conforming program, for the same
   reasons that apply to `$'.

o  The international community is aware of this and accepts it.

How much of the above is correct?

Karl W. Z. Heuer (ima!haddock!karl or karl at haddock.isc.com), The Walking Lint



More information about the Comp.std.c mailing list