■
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/