ずいぶん昔に GCC の ひらメソッド wiki (諸事情により wikia に移転しました) の方で教えていただいたネタなので,いまさらですが. チャレンジしたことが無いとなかなか実感がわかないと思うのですが,tree.h や tree.def を理解した上で LANGHOOKS や GGC など独特のフレームワークを攻略しないといけないので,GCC のフロントエンドを作るのは死ぬほど学習曲線が高いです. 一応,treelang というフロントエンドのサンプルが含まれていたりするのですが,これもまたけっこう独特なデータ構造を使っていたりするので,何が treelang に特有の部分で,どこが gcc 固有のお約束なのかが見えにくかったり.(何よりも,僕が yacc/lex 怖い現代っ子というのが大きい) そんなこんなで,こういう,本当に minimal なフロントエンドはいろいろ参考にな