msw@cisunx.UUCP (Matt S Wartell) (04/27/89)
First, thanks to Rex, et al. for the helpful explanations about the
various standards committees.
I hesitate to ask such a ethnocentric question after all of the careful
international discussion, but:
If the ISO-646 trigraphs become incorporated in the ANSI X3J11 specification,
will I (as a programmer in the US) have to be careful not to put, for example,
puts("Is this a trigraph??");
in my programs?
--
...............................................................................
: disclaimer: "I am the Lorax, I speak :
: for the trees." university of pittsburgh :
: -T. Geisel msw@unix.cis.pittsburgh.edu :msw@cisunx.UUCP (Matt S Wartell) (05/03/89)
Thanks to all who responded to my somewhat naive question about trigraphs.
As was pointed out by all of the respondants, my question was ill-formed.
I had asked if
puts("trigraph??");
would break under the pANS. Since ??" is not a ISO-646 trigraph, my example
would work fine. If the question were:
puts("trigraph??!");
the answer would be: yes, this will generate "trigraph|" instead of
"trigraph??!".
It was also pointed out that ISO-646 trigraphs _have_ been incorporated
into the proposed standard. For what it's worth, trigraphs are here.
However, a few people noted that self-respecting ANSI compilers would
probably have a "disable-trigraphs" or "enable-trigraphs" option.
A helpful solution came from Karl Heuer via Mark Brader's .signature:
sed -e "s;??\\([-=(/)'<!>]\\);?\\\\?\\1;g"
will protect trigraphs-that-weren't-meant-to-be-trigraphs in existing
code. Thus, the ??! from my example would become ?\?! when transformed
by sed. One caveat: the ?\? construction may fail on pre-ANSI compilers.
Thanks again to Karl Heuer, Marv Rubinstein, Gordon L. Burditt,
Stephen J. Friedl, Mark Brader and David H. Wolfskill for their kind
responses.
--
matt wartell, university of pittsburgh msw@unix.cis.pittsburgh.edu