Specifying eponymous template "internal parameter"
Philippe Sigaud
philippe.sigaud at gmail.com
Tue Jan 8 10:40:44 PST 2013
On Tue, Jan 8, 2013 at 5:59 PM, monarch_dodra <monarchdodra at gmail.com>wrote:
>
> Oh. New alias syntax. Nice ain't it?
>
Yes nice. Why was it not announced somewhere?
At least, the grammar was updated:
*AliasDeclaration*: *alias*
*BasicType*<http://dlang.org/declaration.html#BasicType>
*Declarator* <http://dlang.org/declaration.html#Declarator> *alias* *
AliasInitializerList*<http://dlang.org/declaration.html#AliasInitializerList>
*AliasInitializerList*:
*AliasInitializer*<http://dlang.org/declaration.html#AliasInitializer>
*AliasInitializer* <http://dlang.org/declaration.html#AliasInitializer> *,*
*AliasInitializerList* *AliasInitializer*: *Identifier* *=*
*Type<http://dlang.org/declaration.html#Type>
*
*AliasDeclaration*: *alias*
*BasicType*<http://dlang.org/declaration.html#BasicType>
*Declarator* <http://dlang.org/declaration.html#Declarator> *alias* *
AliasInitializerList*<http://dlang.org/declaration.html#AliasInitializerList>
*AliasInitializerList*:
*AliasInitializer*<http://dlang.org/declaration.html#AliasInitializer>
*AliasInitializer* <http://dlang.org/declaration.html#AliasInitializer> *,*
*AliasInitializerList* *AliasInitializer*: *Identifier* *=*
*Type*<http://dlang.org/declaration.html#Type>
*AliasDeclaration*: *alias*
*BasicType*<http://dlang.org/declaration.html#BasicType>
*Declarator* <http://dlang.org/declaration.html#Declarator> *alias* *
AliasInitializerList*<http://dlang.org/declaration.html#AliasInitializerList>
*AliasInitializerList*:
*AliasInitializer*<http://dlang.org/declaration.html#AliasInitializer>
*AliasInitializer* <http://dlang.org/declaration.html#AliasInitializer> *,*
*AliasInitializerList* *AliasInitializer*: *Identifier* *=*
*Type*<http://dlang.org/declaration.html#Type>
AliasDeclaration:
alias BasicType Declarator
alias AliasInitializerList
AliasInitializerList:
AliasInitializer
AliasInitializer , AliasInitializerList
AliasInitializer:
Identifier = Type
I'll have to update my grammar and generated parser.
Hmm. Why the limitation to Type?
The examples still all use the old syntax, but oh well.
> It works for everything except "alias something this". Not that it can't
> be done, but there were discussions for another syntax specific to alias
> this.
>
The grammar says:
*AliasThisDeclaration*: *alias* *Identifier* *this* *alias* *this* *=* *
Identifier* AliasThisDeclaration:
alias Identifier this
alias this = Identifier
Nice nice nice.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.puremagic.com/pipermail/digitalmars-d-learn/attachments/20130108/c3c674c4/attachment-0001.html>
More information about the Digitalmars-d-learn
mailing list