株式会社サイエンス社 株式会社新世社 株式会社数理工学社
ホーム 会社案内 社員募集 ご意見・ご感想 リンク 当サイトの利用  



Computer Science Library 9

「コンパイラ入門」
〜 構文解析の原理とlex/yacc,C言語による実装 〜

山下義行(佐賀大学教授) 著

定価:2,376円(本体2,200円+税)
発行:サイエンス社
発行日:2008-06-25
ISBN 978-4-7819-1205-9 / A5判/224頁


<内容詳細>
多くの例題を平明で丁寧に解説し,全体を通じて簡単な二種類のプログラミング言語に対するインタプリタ,コンパイラを実際にC言語で開発する.最新の研究開発状況に即した内容のコラムも随所に盛り込んだ入門書.

<目次>
第1章 プログラミング言語
  1.1 プログラミング言語の役割
  1.2 プログラミング言語の種類と歴史
  1.3 プログラミング言語処理系
  第1章の章末問題

第2章 コンパイラの全体構成
  2.1 コンパイラの処理の概要
  2.2 フロントエンド
  2.3 バックエンド
  2.4 本書で例題とするプログラミング言語
  第2章の章末問題

第3章 字句解析
  3.1 トークン
  3.2 正則表現と有限状態オートマトン
  第3章の章末問題

第4章 字句解析器生成系lex
  4.1 lex記述
  4.2 lex記述のコンパイルと実行
  第4章の章末問題

第5章 構文解析の準備
  5.1 文脈自由文法
  5.2 導出
  5.3 構文木と曖昧性
  5.4 拡大文法とEoFトークン
  5.5 構文解析手法の条件
  第5章の章末問題

第6章 下向き構文解析
  6.1 解析例
  6.2 Director集合
  6.3 構文解析アルゴリズム:空規則を含まない場合
  6.4 構文解析アルゴリズム:空規則を含む場合
  6.5 繰り返し計算
  6.6 LL(1)文法
  6.7 文法変換
  6.8 下向き構文解析プログラムのコンパイルと実行
  第6章の章末問題

第7章 上向き構文解析
  7.1 解析例
  7.2 LR(0)構文解析
  7.3 SLR構文解析
  7.4 LR(1)構文解析
  7.5 LALR(1)構文解析
  第7章の章末問題

第8章 構文解析器生成系yacc
  8.1 SL1の文法
  8.2 yacc記述
  8.3 yacc記述のコンパイルと実行
  8.4 yacc記述のデバッグ
  第8章の章末問題

第9章 抽象構文木の構築
  9.1 構文解析以後の処理
  9.2 抽象構文木の仕様
  9.3 SL0のための下向き構文解析による抽象構文木の構築
  9.4 SL1のための上向き構文解析による抽象構文木の構築
  第9章の章末問題

第10章 中間木の構築
  10.1 記号表の設計
  10.2 抽象構文木を走査する関数
  10.3 抽象構文木の上の意味エラーチェック
  10.4 データ型の埋め込み
  第10章の章末問題

第11章 インタプリタとコンパイラ
  11.1 インタプリタの作成
  11.2 コンパイラの作成
  11.3 コード最適化
  11.4 本書で触れなかった事柄
  第11章の章末問題

あとがき
索引