Why version() ?
Ary Borenszweig
ary at esperanto.org.ar
Tue Feb 10 19:37:47 PST 2009
Ary Borenszweig escribió:
> Jason House escribió:
>> Walter Bright Wrote:
>>
>>
>>> 5. Why can't one 'version out' syntax that is not recognized by the
>>> compiler?
>>>
>>> The problem is that supporting this requires semantic analysis in
>>> order to successfully lex and parse the source code. Breaking this
>>> will make the lexing and parsing an order of magnitude harder for
>>> third party tools to do. If you need to 'comment out' a section of
>>> syntactically invalid code, use the /+ ... +/ nesting comment.
>>
>> Would you be willing to introduce an alternative to /+ +/ which would
>> be treated differently by the D1 and D2 compilers? Here are some
>> examples with no attempt at creativity:
>> beginD1 endD1
>> D1 D1 (works like string delimiters)
>> /D2 D2/
>
> Why not have special versions like D1, D2, D3 for the compiler to treat
> them differently? If a version(DX) is found that is not the current's
> compiler version, it just consumes tokens (counting opening and closing
> of brackets, etc.) until the curly's close. Much like the asm statement.
Ah, mmm... the lexer also needs to know this. Doesn't work. :-(
Well, it could work if you lookahead a few tokens...
More information about the Digitalmars-d
mailing list