Correct forum for discussing documentation issues?

Andre Artus andre.artus at gmail.com
Sat Aug 3 04:22:41 PDT 2013


On Saturday, 3 August 2013 at 10:31:47 UTC, Peter Alexander wrote:
> On Saturday, 3 August 2013 at 10:26:53 UTC, Andre Artus wrote:
>> What would be the correct forum to discuss a possible 
>> correction to the D Language specification?
>
> Do you want to discuss it, or just report it?
>
> If it looks like an error, then just report the issue to the D 
> bug database:
>
> http://d.puremagic.com/issues/enter_bug.cgi?product=D (select 
> the "websites" component)
>
> If you're not sure if it's an error, then you could discuss it 
> in this forum, although it might be better just to report the 
> bug anyway. If it's not an error then someone will just close 
> it, hopefully explaining why it's not an error :-)

It looks like a error to me, which may not be saying a whole lot.


The "static import ImportList ;" production given in
'ImportDeclaration'[http://dlang.org/module.html#ImportDeclaration]
seems redundant because it is already covered by
'AttributeSpecifier'[http://dlang.org/attribute.html#AttributeSpecifier].

I don't know whether this is:
- an artefact of a previous incarnation of the language spec,
- a conscious decision to redundantly document the attribute 
specifiers on 'import',
- or that being awake for more than 24 hours is not a good time 
to be reading language specs.

ImportDeclaration:
	import ImportList ;
	static import ImportList ; //** seems redundant

Already specified in

AttributeSpecifier:
     Attribute :
     Attribute DeclarationBlock


Attribute:
     // ...
     ProtectionAttribute
     **static**
     // ...

I'm not sure that I am explaining this properly as it seems that 
at least 2 different people were under the impression I was 
making a point quite different from the one I was trying to make. 
But, if you follow the grammar as it's currently written then the 
following should be valid D (assuming the parser correctly deals 
with the conflicting 'static' terminals):

static {                   // 'static' from AttributeSpecifier
   static import teleport;  // 'static' from ImportDeclaration
}

--AND--

static:                    // 'static' from AttributeSpecifier
   static import teleport;  // 'static' from ImportDeclaration

You could still parse the above after removing the 'static import 
ImportList ;' production from ImportDeclaration: it would just 
unambiguously go through AttributeSpecifier.






More information about the Digitalmars-d mailing list