Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #16602

Re: trigraphs, yecch

From Patrick Scheible <kkt@zipcon.net>
Newsgroups comp.lang.c
Subject Re: trigraphs, yecch
References <4f2808f4.648026530@text.giganews.com> <ln4nvbxxkb.fsf@nuthaus.mib.org> <86aa53e59d.fsf@zipcon.net> <jgaece$76o$1@dont-email.me>
Date 2012-02-01 11:11 -0800
Message-ID <86aa52tlli.fsf@zipcon.net> (permalink)
Organization The Zip Connection (zipcon.net)

Show all headers | View raw


James Kuyper <jameskuyper@verizon.net> writes:

> On 01/31/2012 08:01 PM, Patrick Scheible wrote:
>> Keith Thompson <kst-u@mib.org> writes:
> ...
>>> For reference, there are exactly 9 trigraphs.  C99 5.2.1.1:
>>>
>>>     All occurrences in a source file of the following sequences of three
>>>     characters (called trigraph sequences) are replaced with the
>>>     corresponding single character.
>>>
>>>         ??= #     ??) ]    ??! |
>>>         ??( [     ??' ^    ??> }
>>>         ??/ \     ??< {    ??- ~
>>>
>>>     No other trigraph sequences exist. Each ? that does not begin one of
>>>     the trigraphs listed above is not changed.
>>>
>>> In your case, "???" is not a trigraph, but ??) is.
>> 
>> Has the C standards committee been flamed enough for trigraphs?  I don't
>> think so.  I bet there's 1000 programmers bitten by them for every 1
>> who's been helped.  By 1989 anyone who didn't have an editor capable of
>> typing any 7-bit ASCII character ...
>
> Every single one of the characters for which there's a corresponding
> trigraph sequence, is on that list precisely it's not in the "invariant
> set" supported by all of the national variants of the ISO/IEC 646 7-bit
> encoding. If you lived in one of the nations for which those national
> variants was created, an editor which supported only strict 7-bit ASCII
> would not have been very useful - that's precisely why the national
> variants were created.

The invariant subset of ASCII was an unsatisfactory solution to
everyone, including people working in the languages for which it was
created.  The characters lost by accented characters are used for many
purposes, not just C.  And many people need to be able to represent
accented characters from several different languages in the same
document.  The Unicode committe was already meeting in 1989.  The C
committee should have stuck to ad-hoc preprocessors for people using C
in a non-full-ASCII language until Unicode was ready, only another few
years.

> There are work-arounds; such as standard conventions for transliterating
> a German letter such as รถ into oe, but those conventions implement
> essentially the same idea as trigraphs: using multiple representable
> characters to indirectly represent a single character that's not
> directly representable.
>
>> ... was a hopeless luddite who would be
>> better served making their own pre-preprocessing phase for C and leaving
>> the language unchanged instead of another phase in the preprocessor for
>> every C program forever and ever.
>
> I'm not arguing that trigraphs were a good solution to the problem. But
> restricting editors to 7-bit ASCII was not an acceptable solution,
> either. That's why one of the Scandinavian countries (I forget which
> one) refused to approve the C standard until some accomodation was made
> to the needs of people for whom 7-bit ASCII was unacceptable. The result
> was a political compromise, and like most such, it was equally
> unattractive to all parties engaged in the negotiations.

Thankfully, Ritchie didn't have get an international committee's
blessing in order to create C.

-- Patrick

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

trigraphs, yecch cri@tiac.net (Richard Harter) - 2012-01-31 15:55 +0000
  Re: trigraphs, yecch pete <pfiland@mindspring.com> - 2012-01-31 11:05 -0500
    Re: trigraphs, yecch Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-01-31 16:47 +0000
      Re: trigraphs, yecch cri@tiac.net (Richard Harter) - 2012-01-31 17:21 +0000
        Re: trigraphs, yecch James Kuyper <jameskuyper@verizon.net> - 2012-01-31 12:26 -0500
        Re: trigraphs, yecch Robert Wessel <robertwessel2@yahoo.com> - 2012-01-31 11:40 -0600
          Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 15:22 -0800
            Re: trigraphs, yecch "BartC" <bc@freeuk.com> - 2012-02-01 01:09 +0000
              Re: trigraphs, yecch James Kuyper <jameskuyper@verizon.net> - 2012-01-31 22:21 -0500
              Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 21:25 -0800
            Re: trigraphs, yecch "Charles Richmond" <netnews@aquaporin4.com> - 2012-01-31 23:40 -0600
              Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 22:19 -0800
                Re: trigraphs, yecch James Kuyper <jameskuyper@verizon.net> - 2012-02-01 08:27 -0500
        Re: trigraphs, yecch Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-01-31 17:47 +0000
        Re: trigraphs, yecch ImpalerCore <jadill33@gmail.com> - 2012-01-31 09:41 -0800
        Re: trigraphs, yecch pete <pfiland@mindspring.com> - 2012-01-31 13:17 -0500
  Re: trigraphs, yecch blp@cs.stanford.edu (Ben Pfaff) - 2012-01-31 09:56 -0800
  Re: trigraphs, yecch Peter Nilsson <airia@acay.com.au> - 2012-01-31 13:55 -0800
    Re: trigraphs, yecch Harald van Dijk <haraldvdijk@gmail.com> - 2012-01-31 14:02 -0800
      Re: trigraphs, yecch blp@cs.stanford.edu (Ben Pfaff) - 2012-01-31 14:06 -0800
        Re: trigraphs, yecch Harald van Dijk <haraldvdijk@gmail.com> - 2012-01-31 15:13 -0800
        Re: trigraphs, yecch "Charles Richmond" <netnews@aquaporin4.com> - 2012-01-31 23:44 -0600
          Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 22:20 -0800
            Re: trigraphs, yecch James Harris <james.harris.1@googlemail.com> - 2012-01-31 22:56 -0800
              Re: trigraphs, yecch Ben Bacarisse <ben.usenet@bsb.me.uk> - 2012-02-01 12:15 +0000
  Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 15:27 -0800
    Re: trigraphs, yecch Patrick Scheible <kkt@zipcon.net> - 2012-01-31 17:01 -0800
      Re: trigraphs, yecch Keith Thompson <kst-u@mib.org> - 2012-01-31 19:50 -0800
        Re: trigraphs, yecch Patrick Scheible <kkt@zipcon.net> - 2012-02-01 10:31 -0800
      Re: trigraphs, yecch James Kuyper <jameskuyper@verizon.net> - 2012-01-31 23:17 -0500
        Re: trigraphs, yecch "Joachim Schmitz" <nospam.jojo@schmitz-digital.de> - 2012-02-01 10:39 +0100
        Re: trigraphs, yecch Kaz Kylheku <kaz@kylheku.com> - 2012-02-01 17:20 +0000
        Re: trigraphs, yecch Patrick Scheible <kkt@zipcon.net> - 2012-02-01 11:11 -0800
      Re: trigraphs, yecch "Charles Richmond" <netnews@aquaporin4.com> - 2012-01-31 23:50 -0600
        Re: trigraphs, yecch ralph <nt_consulting64@yahoo.net> - 2012-02-01 11:56 -0600
        Re: trigraphs, yecch Patrick Scheible <kkt@zipcon.net> - 2012-02-01 11:12 -0800
        Re: trigraphs, yecch Stephen Sprunk <stephen@sprunk.org> - 2012-02-01 13:29 -0600
          Re: trigraphs, yecch blp@cs.stanford.edu (Ben Pfaff) - 2012-02-01 11:35 -0800
            Re: trigraphs, yecch Kaz Kylheku <kaz@kylheku.com> - 2012-02-01 19:59 +0000
              Re: trigraphs, yecch blp@cs.stanford.edu (Ben Pfaff) - 2012-02-01 12:41 -0800
                Re: trigraphs, yecch Kaz Kylheku <kaz@kylheku.com> - 2012-02-01 22:55 +0000
            Re: trigraphs, yecch Stephen Sprunk <stephen@sprunk.org> - 2012-02-01 14:44 -0600
              Re: trigraphs, yecch Kaz Kylheku <kaz@kylheku.com> - 2012-02-01 22:55 +0000
        Re: trigraphs, yecch "christian.bau" <christian.bau@cbau.wanadoo.co.uk> - 2012-02-02 14:19 -0800
          Re: trigraphs, yecch Patrick Scheible <kkt@zipcon.net> - 2012-02-06 20:40 -0800
            Re: trigraphs, yecch "Joachim Schmitz" <nospam.jojo@schmitz-digital.de> - 2012-02-07 11:40 +0100
      Re: trigraphs, yecch jgk@panix.com (Joe keane) - 2012-02-02 14:15 +0000
  Re: trigraphs, yecch cri@tiac.net (Richard Harter) - 2012-02-01 16:52 +0000

csiph-web