Le 11/05/2012 14:14, Roman D. Boiko a écrit :
On Friday, 11 May 2012 at 11:47:18 UTC, deadalnix wrote:
From the beginning, I'm think AST macro using CTFE.
Could you please elaborate?

I plan to strictly follow published D specification.
Exceptions from this rule are possible provided either of the following
is true:
* new functionality has been implemented in DMD but is not included into
specification yet
* specification is incorrect (has a bug) or incomplete, especially if
DMD behavior differs from specification
* change is compatible with specification and brings some significant
improvement (e.g., this seems to be the case for my decision to
introduce post-processor after lexer)

Some more exceptions might be added later, but the goal is to minimize
differences.


More explicitly, the goal isn't to implement a different language than D.

Simply doing the parsing/AST building in a way that would allow AST macro to be introduced later.

Your 3 points seem reasonable. Mine were :
* Implement something that can parse D as it is currently defined/implemented (if dmd's behavior and spec differs, it is handled on a per case basis). * Discard all deprecated features. Not even try to implement them even if dmd support them currently. * Do the parsing in several steps to allow different tools to work with it.

I think we both have very compatibles goals. Let me do a clean package of it I write about design goals. I don't have that much time right now to do it, I will this week end.

Reply via email to