Kompilator Clang z dnia na dzień zdobywa coraz większą popularność wśród programistów języka C++ ze względu na swoją nowoczesną budowę, zestaw dodatkowych narzędzi oraz co najważniejsze – produkowanie kodu wynikowego wydajnościowo przybliżonego lub lepszego od konkurencji. Naturalne wydaje się więc zadanie pytania, jaka jest jego budowa i jak właściwie przebiega proces kompilacji. Artykuł odkrywa przed czytelnikiem ogół tajników działania kompilatorów języka
C++, bazując na projekcie Clang w wersji 3.5.
NIEKTÓRE ZAGADNIENIA PORUSZANE W TYM ARTYKULE
HISTORIA
KOMPILATORY I INTERPRETERY
OD ŹRÓDŁA DO PLIKU BINARNEGO
CLANG A LLVM
STEROWNIK KOMPILACJI
MODULARNOŚĆ
DIAGNOSTYKA
ANALIZA SEMANTYCZNA
DRZEWA AST
REPREZENTACJA WEWNĘTRZNA – IR
SSA
PRZECHYTRZANIE KOMPILATORA
PÓŹNE OPTYMALIZACJE
EMISJA KODU
OPTYMALIZACJE LINKERA
Autorem artykułu jest Sławomir Zborowski. Artykuł pochodzi z magazynu Programista 8/2014 (27). Zobacz cały spis treści tego wydania: znajduje się on tutaj.