On 9/17/16 2:53 AM, Sönke Ludwig wrote:
There is indeed a separate macro engine [1] contained in the ddox repo.
Neither DDMD, nor libddoc existed at the time and DMD's implementation
was written in, from a D POV, very alien C style, with no suitable
structure to extract high level information, so instead of porting it, I
instead tried to implement a processor from the spec [1]. However, it
turned out that the spec is not sufficient at all, so a lot of changes
were necessary over time to work out those small differences. I'd like
to improve the docs, but I'm still not confident that my
implementation's behavior is always equivalent (as this issue shows).

I've opened a GitHub ticket now [2] and will have a look at it shortly.

[1]:
https://github.com/rejectedsoftware/ddox/blob/master/source/ddox/ddoc.d
[2]: http://dlang.org/spec/ddoc.html#phases_of_processing
[3]: https://github.com/rejectedsoftware/ddox/issues/130

Cool beans, thanks. Do you think we should unify the implementations? Perhaps by moving your code (assuming we get semantic convergence) into dmd so we get the benefit of hyphenation? Say e.g. we want to add markdown input, should we continue with two codebases or unify? Thanks! -- Andrei

Reply via email to