コンパイラの仕組みを理論と実践の両面から詳細に解説!
本書は、コンピュータサイエンスの基幹をなすコンパイラ処理系の仕組みについて、形式言語理論の厳密な基礎から、現代の実行環境で求められる最適化技術までを体系的に説明したテキストです。
【本書のポイント】
・正規表現、決定性/非決定性有限オートマトン(DFA/NFA)、文脈自由文法(CFG)、反復補題、プッシュダウンオートマトン(PDA)など、言語処理の土台となる理論的基礎を厳密に解説しています。Chomsky標準形やGreibach標準形といった文法変形の手法もカバーしています。
・lexやyaccなどの自動生成ツールを活用した解析プログラムの構築手順を提示します。下向き(LL(1))および上向き(LR/SLR/LALR(1))構文解析のアルゴリズムに加え、あいまいな文法への対処や、実用コンパイラで不可欠となるエラーリカバリや型チェックの構造まで踏み込んで記述しました。
・バックエンド処理では、ARMアセンブリ命令をベースとした具象的なコード生成と関数フレーム構造を解説しました。さらに、制御フローグラフや静的単一代入(SSA)形式、最適化基盤LLVMの活用、定数伝播、ループ最適化、グラフ彩色によるレジスタ割り当てまで、現代のコンパイラ技術を幅広く取り扱っています。
・各章末には理解度を深める演習問題を配置し、巻末には解答を収録しています。大学・大学院での講義用テキストとしてはもちろん、言語処理系などを独習したい技術者の自習書としても活用できます。
※本書は『情報系教科書シリーズ コンパイラ』の改題改訂版です。