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


Groups > comp.lang.c > #102909

Re: C declarations

From Keith Thompson <kst-u@mib.org>
Newsgroups comp.lang.c
Subject Re: C declarations
Date 2017-02-01 08:15 -0800
Organization None to speak of
Message-ID <ln7f5999bi.fsf@kst-u.example.com> (permalink)
References (6 earlier) <o6s8i9$cuj$1@dont-email.me> <o6sha6$a6l$1@dont-email.me> <o6slob$pkf$1@dont-email.me> <o6snb9$v37$1@dont-email.me> <o6suqv$q9r$1@dont-email.me>

Show all headers | View raw


David Brown <david.brown@hesbynett.no> writes:
[...]
> But that has nothing to do with the fact that the standards committee
> decided to specify the syntax of the language using a combination of BNF
> and some constraints, rather than making a significantly more complex
> BNF grammar.  The constraints for type specifiers could, I believe, have
> been expressed in BNF - but doing so would make it harder to understand.

Expressing those constraints in BNF would have been tedious and would
have made the grammar substantially larger.  The type "unsigned long"
can also be written as "long unsigned", and there is code that depends
on that.  Rather than permitting only the commonly used orders (whatever
they are), the standard allows any order.

A BNF grammar that permits `long unsigned int long` but forbids
`int unsigned int long` would be unwieldy, especially when other
keywords like const can legally be interspersed.

It probably would have been better to have a more restrictive grammar
from the beginning, but that wasn't practical.

-- 
Keith Thompson (The_Other_Keith) kst-u@mib.org  <http://www.ghoti.net/~kst>
Working, but not speaking, for JetHead Development, Inc.
"We must do something.  This is something.  Therefore, we must do this."
    -- Antony Jay and Jonathan Lynn, "Yes Minister"

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


Thread

C declarations BartC <bc@freeuk.com> - 2017-01-30 13:00 +0000
  Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-01-30 14:25 +0100
    Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-01-30 11:42 -0800
  Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 13:46 -0800
    Re: C declarations BartC <bc@freeuk.com> - 2017-01-31 22:13 +0000
      Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 16:43 -0800
        Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-01-31 17:06 -0800
      Re: C declarations Ian Collins <ian-news@hotmail.com> - 2017-02-01 17:58 +1300
        Re: C declarations luser droog <luser.droog@gmail.com> - 2017-01-31 22:42 -0800
          Re: C declarations Ian Collins <ian-news@hotmail.com> - 2017-02-01 19:48 +1300
            Re: C declarations Robert Wessel <robertwessel2@yahoo.com> - 2017-02-01 01:18 -0600
            Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 10:10 +0100
              Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 11:39 +0000
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 13:55 +0100
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 13:22 +0000
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 16:30 +0100
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 08:15 -0800
                Re: C declarations supercat@casperkitty.com - 2017-02-01 08:44 -0800
                Re: C declarations David Brown <david.brown@hesbynett.no> - 2017-02-01 20:56 +0100
                Re: C declarations supercat@casperkitty.com - 2017-02-01 08:29 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 17:24 +0000
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 09:55 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 18:44 +0000
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 11:03 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 12:26 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 13:03 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-01 13:12 -0800
                Re: C declarations fir <profesor.fir@gmail.com> - 2017-02-03 16:07 -0800
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 10:44 -0800
                Re: C declarations jameskuyper@verizon.net - 2017-02-01 11:08 -0800
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 10:40 -0800
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 17:04 +0000
                Re: C declarations Ben Bacarisse <ben.usenet@bsb.me.uk> - 2017-02-01 19:58 +0000
                Re: C declarations BartC <bc@freeuk.com> - 2017-02-01 21:23 +0000
                Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-02-01 08:08 -0800
                Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-02-01 12:45 -0800
  Re: C declarations Andrey Tarasevich <andreytarasevich@hotmail.com> - 2017-03-06 11:19 -0800
    Re: C declarations Keith Thompson <kst-u@mib.org> - 2017-03-06 11:27 -0800

csiph-web