Thread overview
Error in Declarator definition ?
Feb 19, 2007
Carlos Smith
Feb 19, 2007
Carlos Smith
February 19, 2007
Hi,

In the grammar for Declarations,
  http://www.digitalmars.com/d/declaration.html
there is:

Declarator:
 BasicType2 Declarator
 Identifier
 () Declarator
 Identifier DeclaratorSuffixes
 () Declarator  DeclaratorSuffixes

the "() Declarator" parts, are they Ok ?

Should that be written "( Declarator )" instead ?

Carlos

February 19, 2007
"Carlos Smith" <carlos-smith@sympatico.ca> wrote in message news:erbfh1$1jpv$1@digitalmars.com...
> Hi,
>
> In the grammar for Declarations,
>  http://www.digitalmars.com/d/declaration.html
> there is:
>
> Declarator:
> BasicType2 Declarator
> Identifier
> () Declarator
> Identifier DeclaratorSuffixes
> () Declarator  DeclaratorSuffixes
>
> the "() Declarator" parts, are they Ok ?
>
> Should that be written "( Declarator )" instead ?
>
> Carlos
>

Yep.  There have been a few of these misplaced parens since the spec was moved over to DDoc.

Although, what is this syntax for?

int (x) = 5;
writefln(x);

This works.  Why would you want to put parens there?


February 19, 2007
"Jarrett Billingsley" <kb3ctd2@yahoo.com> wrote in message :

: Yep.  There have been a few of these misplaced parens
since the spec was
: moved over to DDoc.
:
: Although, what is this syntax for?
:
: int (x) = 5;
: writefln(x);
:
: This works.  Why would you want to put parens there?
:

I dont know.
Will check that later, when the grammar (yes, another)
i am writing will be all done.


February 19, 2007
Jarrett Billingsley wrote:
> "Carlos Smith" <carlos-smith@sympatico.ca> wrote in message news:erbfh1$1jpv$1@digitalmars.com...
>> Hi,
>>
>> In the grammar for Declarations,
>>  http://www.digitalmars.com/d/declaration.html
>> there is:
>>
>> Declarator:
>> BasicType2 Declarator
>> Identifier
>> () Declarator
>> Identifier DeclaratorSuffixes
>> () Declarator  DeclaratorSuffixes
>>
>> the "() Declarator" parts, are they Ok ?
>>
>> Should that be written "( Declarator )" instead ?
>>
>> Carlos
>>
> 
> Yep.  There have been a few of these misplaced parens since the spec was moved over to DDoc.
> 
> Although, what is this syntax for?
> 
> int (x) = 5;
> writefln(x);
> 
> This works.  Why would you want to put parens there? 
> 
> 

The only thing I can think of is support for C-style function pointer declerations, but I thought we wanted to move away from those...  The compiler still accepts and comprehends them, though.

-- Chris Nicholson-Sauls