BT

D.NETコンパイラのソースコードを公開

| 作者: Jonathan Allen フォローする 595 人のフォロワー , 翻訳者 猪股 健太郎 フォローする 0 人のフォロワー 投稿日 2009年5月31日. 推定読書時間: 1 分 |

原文(投稿日:2009/5/15)へのリンク

Dは、ObjectiveCのように、C++における深刻な問題に対処しようとする、比較的新しい言語である。Cristian Vlasceanu氏へのインタビューから引用する。

多くの点で、Dは"正しい"振る舞いを促します。たとえば、CやC++では、"int i;"と書いてもその変数は初期化されません。"正しいこと"をさせるには、プログラマは "int i = 0;"というように余分にキーを打つ必要があります。しかしDでは別の方法を取ります。 "int i;"と書けば安全にデフォルト値がセットされます(この場合はゼロ)。初期化しないようにする場合はより多くの努力を要します。"int i = void;"と書くことで、意図的に初期化していない変数であり怠惰なためではないことを表現するのです。

D.NETは、D言語を実験的に共通言語ランタイムへ移植したものである。それは、フロントエンド・コンポーネントとバックエンド・コンポーネントの2つの部分から構成されている。フロントエンド・コンポーネントは、ソースコードの分析と抽象構文木の生成を担当する。バックエンド・コンパイラはそれを受けて、実際の機械語(この場合はILコード)を生成する。ソースコードは両方ともCodePlexでダウンロードできるが、そこでメンテナンスされるのはバックエンドだけである。フロントエンド・コンポーネントは、D 2.0 プログラミング言語コンパイラから取り込まれる。

注意書き

バックエンド・コードは製品用途の品質にはなく、研究および教育目的で利用されることを想定している。Dプログラミング言語はかなり複雑な言語であり、TLSやクロージャのような重要な機能によって、ILコードを生成するケーススタディとして興味深いものとなっている。

この記事に星をつける

おすすめ度
スタイル

こんにちは

コメントするには InfoQアカウントの登録 または が必要です。InfoQ に登録するとさまざまなことができます。

アカウント登録をしてInfoQをお楽しみください。

あなたの意見をお聞かせください。

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする
コミュニティコメント

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

HTML: a,b,br,blockquote,i,li,pre,u,ul,p

このスレッドのメッセージについてEmailでリプライする

ディスカッション

InfoQにログインし新機能を利用する


パスワードを忘れた方はこちらへ

Follow

お気に入りのトピックや著者をフォローする

業界やサイト内で一番重要な見出しを閲覧する

Like

より多いシグナル、より少ないノイズ

お気に入りのトピックと著者を選択して自分のフィードを作る

Notifications

最新情報をすぐ手に入れるようにしよう

通知設定をして、お気に入りコンテンツを見逃さないようにしよう!

BT