On Friday, 11 May 2012 at 12:30:01 UTC, deadalnix wrote:
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).
All differences should be documented.
* Discard all deprecated features. Not even try to implement
them even if dmd support them currently.
Yes, I forgot this one. Actually, I didn't discard imaginary
floats, because I don't know what exactly will be done instead
and it is easy to keep them.
* Do the parsing in several steps to allow different tools to
work with it.
I was thinking about a pool of analysers each of which would add
some information. This could be more than needed for semantic
analysis. An analyser would be created each time when information
(e.g., some indexing) is needed for a particular use case.
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.
I saw your ast_as_lib branch of SDC, but didn't dig deeper.