Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!pasteur!agate!ucbvax!decwrl!decvax!ima!haddock!karl From: karl@haddock.ima.isc.com (Karl Heuer) Newsgroups: comp.std.c Subject: Re: ANSI C token set (including $ and @) Message-ID: <11343@haddock.ima.isc.com> Date: 5 Jan 89 01:46:30 GMT References: <1844@zell.cs.vu.nl> <9244@smoke.BRL.MIL> Reply-To: karl@haddock.ima.isc.com (Karl Heuer) Organization: Interactive Systems, Boston Lines: 27 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@haddock.isc.com), The Walking Lint