愚問をてってれーするの楽しすぎるでしょβ

ESRのエッセイに唆されてPythonする初心者が半端な勉強ログを書き散らす場所 ICT文化にどうしても住みたいという遠大な啓示が下った人の住処/気持ちよさのためだけに/お客様のお忘れになった恥の概念が母胎に届いているようです

”The Definitive Guide to GCC”を自分が今読めるかどうか考えてみた

Amazonでも人気なようだけど、翻訳は出てない。コンパイラの話?とおい。GNUコンパイラコレクション - Wikipedia

The Definitive Guide to GCC

The Definitive Guide to GCC


GCCとは
"1985年、当時MITの研究者であったリチャード・ストールマンによって、既成のコンパイラを拡張する形で開発が始められた。当初コンパイラPastel英語版というPascalの方言によって書かれていた。その後ストールマンとLeonard H. Tower, Jr.によってC言語で書き直され、GNUプロジェクトの一つとして1987年に公開された。さらに2012年にはLawrence CrowlとDiego NovilloによってC++で書き直された。"

なるほど〜。RMSによるプロジェクトだったのか。

さらに技術的には、

"GCCは通常のコンパイラと同様にフロントエンド部、最適化部、バックエンド部から構成される。"

コンパイラはフロントエンド、最適化部、バックエンドで構成される!復唱!


"フロントエンド部は字句解析構文解析などを行い、対応言語ごとに用意されている。たとえばC++フロントエンド、Javaフロントエンドなどがある。

バックエンド部のコード生成部(コードジェネレータ)、および最適化部(オプティマイザ)は全言語で共通である。したがってGCCの対応の言語同士の間では、生成コードの質や対応するCPUの種類は原理的に同じになる。なお、フロントエンドおよびバックエンドの間でやりとりされる中間形式としてRTL(Register Transfer Language) が使用される。

CコンパイラとしてのGCCの開発のために、構文解析部生成系bison、字句解析部生成系flexが開発された。これらを使用してGNU Cコンパイラその他の各種フロントエンドは構築されている。これらは単独のフリーソフトウェアとしても有用なものである。

GCCはバージョン4から中間形式が2つ追加された。まず、各言語は通常フロントエンド言語の木構造を保持した共通中間形式のGENERICに変換されその後GIMPLEという中間形式で木の最適化SSAをおこなってからRTLの最適化がおこなわれる。また、CやC++コンパイル時にフロントエンドの構文解析、字句解析においてbisonやflexを使用しなくなった。"


Bill von Hagen's Home Page

GAAAAA!やられたwお前はあっち行けって言われたwwww清く正しくとがってる…。他に、以下のような著書があった。 

Linux Server Hacks, Volume Two: Tips & Tools for Connecting, Monitoring, and Troubleshooting

Linux Server Hacks, Volume Two: Tips & Tools for Connecting, Monitoring, and Troubleshooting

 

 

Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS

Ubuntu Linux Bible: Featuring Ubuntu 10.04 LTS

 

 レビューで、クリックの仕方から書いてあるというような揶揄があったので、このUbuntu本は、なくはないのかも。しかし、強制される英語に対するアレルギーが再発しそうで怖いな。