dmdのfrontendのソースを眺めたりとか。とりあえずlexerとparserの部分をコンパイルしてみようと思ったんだけど、何箇所か必要な#includeなんかが抜けてる気が。
それはともかく、気になった所として。

  • #include "..\root\mem.h"。frontendのmem.hでいいんだろうか?
  • lstring.c。VS2005 Betaだとコンパイラがクラッシュ。
  • lexer.c の関数strtofとstrtold。
    VCのstdlibに入ってない。使わないしこの場合、精度はどうでもいいのでstrtodで代用。
  • #include "complex.h"。complex_t.hが別に用意されてるからそっちを使う。
  • NAN、INFINITYが定義されてない。

下3つはCのライブラリがC99に対応してないからだと思うけど、VS2005 betaでも同様。正式版までに対応されるんでしょうか?
C99の説明 http://seclan.dll.jp/c99d/