原文は、”clang: a C language family frontend for LLVM” (http://clang.llvm.org/) です。
LLVM Overview 日本語訳 に戻る
clang: LLVM のためのひとつの C言語系統フロントエンド clang: a C language family frontend for LLVM
Clang プロジェクトのゴールは、LLVM コンパイラのための新しい C, C++, Objective-C そして Objective-C++ のフロントエンドをつくることです。あなたは今日ソースを入手してビルドできます。
機能仕様とゴール Features and Goals
プロジェクトには以下を含むいくつかのゴールがあります:
- 高速なコンパイルと低いメモリ使用量 Fast compiles and low memory use
- わかりやすい診断機能 Expressive diagnostics (例)
- GCC 互換性 GCC compatibility
- モジュール式ライブラリ・ベースのアーキテクチャ Modular library based architecture
- 多様なクライアントのサポート (リファクタリング、静的解析、コード生成、など) Support diverse clients (refactoring, static analysis, code generation, etc.)
- IDE とのタイトな統合を許す Allow tight integration with IDEs
- LLVM ‘BSD’ ライセンスを使う Use the LLVM ‘BSD’ License
- 現実世界の、製品品質のコンパイラ A real-world, production quality compiler
- シンプルでハックしやすいコードベース A simple and hackable code base
- C, Objective-C, C++, Objective-C++ のための単一に統合されたひとつのパーサ A single unified parser for C, Objective C, C++, and Objective C++
- C/C++/ObjC とそのバリアントとの適合性 Conformance with C/C++/ObjC and their variants
もちろんこれは Clang の機能仕様とゴールに関する単なるラフなアウトラインです。ほんとうの意味でどういうことなのかを知るためには、機能仕様のセクションを見ると、詳細まで噛み砕いて説明しています。
なぜか? Why?
新しいフロントエンドの開発は、よりよい診断機能、よりよい IDE統合機能、商用プロダクトとの互換性のあるライセンス、そして開発とメンテが容易である、機転のきいたコンパイラへのニーズから始められました。これらすべてが、新しい、これらのニーズに合うフロントエンドをつくる仕事を始めることの動機付けでした。
Clang へのよいイントロダクション (かなり古いですが) は、下記のビデオ講義で見つけられます。
- Clang イントロダクション (May 2007)
- Clang の機能仕様とパフォーマンス (July 2007)
Clang とその他のコンパイラとのより詳細な比較については、clang 比較ページをごらんください。
現在のステータス Current Status
Clang は、X86-32, X86-64, そしてARM (他のターゲットについては但し書きがありますが、たいてい修正は容易です) をターゲットとした場合、製品レベルの品質の C, Objective-C, C++ そしてObjective−C++ コンパイラと考えられています。もしあなたがコード解析やソース対ソース変換ツールを探しているなら、clang はたぶんあなたにとってすぐれたソリューションになります。Clang はC++11 をサポートしており、詳しい情報については C++ ステータスページ をごらんください。
入手して参加しよう! Get it and get involved!
コードを手に入れることから始めて、ビルドし、遊んでみよう。これがわれわれが今日できることを何でもかんでも、あなたに示すことでしょう。あなたに “clang体験” をなさしめる第一の手です: 願わくば「共鳴」するとよいのですが ^-^。
それが済んだら、clangコミュニティに参加してみることを考えてごらんになりませんか。clang開発者たちには 様々なバックグラウンドを持つ、たくさんのボランティア貢献者がいます。もしあなたが clang の開発をフォローすることに興味があれば、メーリングリストにサインアップすることが、どのようなプロジェクト運営がなされているか学ぶのによい方法です。
0 件のコメント:
コメントを投稿
何かありましたら、どうぞ: