accept @pure @nothrow @return attributes

Foo via Digitalmars-d digitalmars-d at puremagic.com
Mon Jan 26 13:28:13 PST 2015


On Monday, 26 January 2015 at 21:25:57 UTC, Jonathan Marler wrote:
> On Monday, 26 January 2015 at 21:12:50 UTC, Walter Bright wrote:
>> On 1/26/2015 12:45 PM, Jonathan Marler wrote:
>>> Just because they are function attributes does not mean
>>> they were tokenized as "keywords".
>>
>> The lexer has no idea what a function attribute is or that now 
>> it should be looking for attributes and then it should not be.
>
> I feel like I keep repeating myself so I'm just going to 
> copy/paste.
>
>> If the grammar supported decorating a function with a list of 
>> id
> tokens (not just keywords), then you could implement a variation
> on the c++ solution of allowing "override" and "final" after a
> function signature.
>
> The lexer would recognize these attributes as normal ID tokens.
>  The grammar could be amended to allow a function to be 
> decorated with keywords and generic id tokens.  Then the 
> meaning of those tokens would be handled by semantic analysis.  
> So the result would be that the lexer would see "nogc" and 
> "safe" as normal id tokens (not keywords) which would be 
> consumed as function attributes by the grammar.  As far as I 
> can tell this results in the best of both worlds.  We can omit 
> the '@' character on function attributes like safe and nogc but 
> they don't have to be added as keywords.

Right. That's was what I meant.
Same thing could be possible for body...


More information about the Digitalmars-d mailing list