feature request: __ARGS__ for logging (cf __FILE__, __LINE__, __FUNC___)
Timon Gehr
timon.gehr at gmx.ch
Tue Feb 5 09:49:58 PST 2013
On 02/05/2013 06:08 PM, Jacob Carlborg wrote:
> On 2013-02-05 16:24, Timon Gehr wrote:
>
>> I'd prefer if it needn't be.
>>
>> macro match(Context context, Ast ast, string code){
>> ...
>> if(...) context.error("invalid syntax", code[a..b]);
>> // (slice of code describes exact location where error
>> // is shown to user at the call site.)
>> ...
>> }
>
> The whole point of AST macros is that the compiler will do the lexing
> and parsing of the code. It will then just return an AST and it's up to
> the developer of the macro to implement the semantics.
>
If it's just about lexing and parsing, you need a lexer and a parser,
not a macro.
> If the code is just passed as a string to the macro
That's just one option. Not all macros need to add syntax.
> you would then need to lex and parse in addition to implementing the semantics
If one chooses to do so. Parser generators can be provided.
> and we would be no better than the current situation with string mixins.
>
We surely would be better.
More information about the Digitalmars-d
mailing list