dmdのフロントエンドから、LexerとParserの部分をC#に移植しよう思って作業に取り掛かったけど、意外と面倒なんで、ちょっと中断。
楽する方法ないもんかとパーサジェネレータをいくつか調べてみた。


ANTLR http://www.antlr.org/
が有名どころだけあって、いろいろ資料が揃っててよさそう。

http://aegisknight.org/~andy/d/d.g
既にDの文法定義ファイルが作られてたので、Lexerの部分だけ動かしてみた。
http://reverie.xrea.jp/files/parser1.png
細かい部分で違う所あるのでちょっと修正する必要があるけど、そこそこいい感じに動いてる。

VS2005はbeta2からgoliveライセンスが提供されてるんで、
一通りの機能ができたら公開しようと思ってたんだけど、
VSIP SDK側のライセンスにbeta版の配布制限条項がついてた。
特にbeta2に対して他の特別な記述はないんで、beta2にもこの条項が適用される予感。

VS2005の発売日は11月7日近辺って話なので、公開できるのはその辺りになるのかな。dmd 1.0のリリースとどっちが早いんだろ…ここ数ヶ月は1.0に向けてbug fixの期間と思ってたのに、最近になって、また新機能追加されてるし。
連想配列の変更は個人的には歓迎。前のは紛らわしかったんで。inner classは何に使えばいいのか、いまいちわからない。


近況:
http://reverie.xrea.jp/files/vs7.png
D言語サービス、ColorizerとBraceMatchingを実装。まだ微妙に動作が怪しい所が。
後、試しに、キーワード補完。Intelisense関係の機能はパーサ書かないことには始まらないので次はその辺りを。

VS 2005 beta2が手に入ったんで、D言語プラグインC#で一から作り直す作業を少しずつ進めてます。
http://reverie.xrea.jp/files/vs6.png
プロジェクトの基本的な部分はデフォの実装で問題なさそうなので、とりあえずmsbuildの辺りから。
MSBuildはVS2005から(VC++以外で)採用されてるビルド用のフレームワーク
こんな感じのXMLで書かれたプロジェクトファイルを食わせると自動的にビルドしてくれる。.net frameworkと一緒に配布されてるのでVSなしでも単体でコンパイル可能。

VSIP SDK 2005 beta2のドキュメント見てたけど、C++よりC#でmanagedのframework使うのが推奨されてる。ドキュメントもほぼC++並に整備されてきてるし。
C#のサンプルコード眺めてみたけど、面倒な部分が全部framework側でラップされてて、C++の数倍、きれいでコードも短い。C#に移行した方がよさげ。

Visual Studio Hacks ISBN:0596008473
半分くらいまで読んだ。
VSの細かい機能とか、web上で公開されてるアドインの解説なんかが項目別に並んでる。知ってる内容も多いけど、普段慣れで適当に使ってるだけあって、便利そうなのに今まで使ってなかった機能とか結構ある。

VSのショートカットキー一覧
http://safari.oreilly.com/0596003609/mastvsnet-APP-C
エディタの基本操作以外は、大抵マウスで済ませてるけど、便利そうな所くらいは覚えるべきか…

http://msdn.microsoft.com/vstudio/extend/
VSIP SDK beta2が来てるけど、リンク先間違ってるのでダウンロードできず。ところでこれ、VS beta1にもインストールできるんだろうか。


「完全詳説!Visual Studio 2005&SQL Server 2005」 ISBN:4822221415
http://bpstore.nikkeibp.co.jp/item/main/148222214150.html
5月23日発売。DVD/CD付属ってあるので、VS 2005 beta2がついてくる?

VS2005 beta2はCD注文って形で一般配布もするみたい。
MSDNの人がTeam Suiteダウンロードできるのに対して、それ以外の3つが対象。
beta1の時と同じように書籍の付録になってくれることを期待。

http://forums.microsoft.com/msdn/ShowPost.aspx?PostID=155
http://www.microsoft.com/germany/msdn/vs2005/bestellung/default.mspx