Using the Commercial At sign in C

Barry Shein bzs at bu-cs.BU.EDU
Fri Dec 19 15:01:18 AEST 1986


>Neither "@", "`", or "$" can be introduced into the C standard because they
>are not in all character sets (such as 7-bit European, EBCDIC?)

Whoops, let's clinch this one immediately. @ and $ are certainly in
EBCDIC. EBCDIC, being a 256 character set [more or less] is pretty
much a super-set of ASCII. In fact, the problems with translation (and
thus lossage people infer these things from) is that it sometimes
defines the same characters as two different bit patterns, one for
printing and the other for, I dunno, "telecommunications" and a system
appears to lose if you hand it a program with the wrong one (even tho
it looks right on a printout.)

Actually, the "problem" is also propagated by IBM327x EBCDIC terminals
which don't have {} keys and a few others that C programmers look for
(but they do have 'not' and 'cents' :-) That's a problem with those
ubiquitous terminals, not EBCDIC (typing in C on an ASCII terminal via
an IBM7171 YALE/ASCII mux yields no problems, throw away those
data-entry stations.)

However, I believe TSO used @ and # as line kill and delete, as UNIX
did, perhaps that's where some of this comes from (they were
settable.)

	-Barry Shein, Boston University



More information about the Comp.lang.c mailing list