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


Groups > comp.lang.c > #102891

Re: C declarations

From Andrey Tarasevich <andreytarasevich@hotmail.com>
Newsgroups comp.lang.c
Subject Re: C declarations
Date 2017-01-31 17:06 -0800
Organization A noiseless patient Spider
Message-ID <o6rc79$bpg$1@dont-email.me> (permalink)
References <o6nd9u$rp1$1@dont-email.me> <o6r0gj$4di$1@dont-email.me> <o6r22b$ab3$1@dont-email.me> <o6ras7$845$1@dont-email.me>

Show all headers | View raw


On 1/31/2017 4:43 PM, Andrey Tarasevich wrote:
>
> These compilers are still trying to be compatible with legacy K&R code.
>

The C89/90 grammar says

     declaration:
       declaration-specifiers init-declarator-list[opt];

     declaration-specifiers:
       storage-class-specifier declaration-specifiers[opt]
       type-specifier declaration-specifiers[opt]
       type-qualifier declaration-specifiers[opt]

and then

     type-specifier:
       void
       char
       short
       int
       long
       float
       double
       signed
       unsigned
       struct-or-union-specifier
       enum-specifier
       typedef-name

This leaves no possibility of having an empty set of 
'declaration-specifers'. In this grammar there's no way do derive a lone 
'a = 10;' in the middle of the file .

Later in the text it says

     "Each list of type specifiers shall be one of the following sets:
      ...
      - int, signed, signed int, or no type specifiers
      ..."

But even tough it says "or no type specifiers", this does not override 
the requirements of the grammar. The "no type specifiers" part simply 
means that the set of 'type-specifier' sequence can be empty if 
'storage-class-specifier' or 'type-qualifier' is present.

-- 
Best regards,
Andrey Tarasevich

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