LLVM for Grad Students 大学院生のためのLLVM を訳す1
ツイッターをチラチラみてたらLLVMのハッシュタグあることに気づいた(調べた 笑). そのなかで
Adrian Sampson: LLVM for Grad Students
というリンクが気になったので訳しみた.
いつもと同様にGoogle翻訳先生に英文投げて日本語を拾い上げる方式.
そのため日本語で通じない部分だったり, いみの通らない部分が多かったりするので, コメントとかであれば(ないだろう)随時直そうと思う.
では,
LLVM for Grad Students
これはLLVMコンパイラインフラストラクチャの研究の紹介です。
無関心からいっきに興味を引きつけるには十分です.
What is LLVM? LLVMって?
LLVMはコンパイラである. それはC, C++言語のようにネイティブ言語のためのahead-of-time compileであり, hackable(改良可能)である.
もちろん他にも優れています. LLVMは素晴らしい(JITもある;それはまだないC言語のような多様性を提供する.それは、App Storeの新しい配信フォーマットとかetc.etc.)
これらはすべて真実ですが、目的のために、上記の定義は重要なものです。
ほかのコンパイラとの大きな違いについて以下に解説する。
- LLVMの中間表現(IR)は、偉大な技術革新です。
- LLVMは、あなたがアセンブリ読むことができる場合、実際に読むことができるプログラムの表現に変換します。
これは素晴らしいように見えないかもしれませんが、次のとおりです。
他のコンパイラのIRは、実際に書くことができないので、複雑なインメモリ構造になる傾向がある. - LLVMは可読性に優れてます.
構造は、他のコンパイラよりもずっとよりモジュール化されています。これは元の作成者(Chris Lattner(?))から受け継がれてきたものです. - 私たちのような学術的プログラマの研究ツールであるにもかかわらず、LLVMは大企業に裏打ちされた非常に強力なコンパイラです。
あなたがホットスポットとのJikesの間で迷った時,
Javalandがあるように、巨大なコンパイラと改良可能コンパイラの間で妥協する必要はないことを意味します。