Subtle bug in ddox vs. ddoc macro handling

Andrei Alexandrescu via Digitalmars-d digitalmars-d at puremagic.com
Sat Sep 17 07:52:42 PDT 2016


On 9/17/16 5:29 AM, Walter Bright wrote:
> On 9/16/2016 11:53 PM, 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 factored out the Ddoc macro code into a separate component:
>
> https://digitalmars.com/sargon/textmac.html

Cool. The way the whole establishment should work is that all surface 
syntax rewrites itself into macros, and expand() is invoked as the last 
step. -- Andrei



More information about the Digitalmars-d mailing list