コンパイラ書籍一覧1
|
|
ISBN4-254-12139-3 C3041 朝倉書店 中田育男(図情大) 著 A5判 528頁 本体価格9500円 1999年 9月発売[内容] 著者のコンパイラ作製・教育に長年従事した豊富な経験を集大成した書。 [目次] コンパイラの概要 1. はじめに 1.1 コンパイラとは 1.2 変換系と通訳系 2. コンパイラの簡単な例 2.1 後置記法 2.2 スタック 2.3 簡単なコンパイラの例 2.4 コンパイラの論理的構造 2.5 コンパイラの物理的構造 コンパイラの構成 3. 文法と言語 3.1 バッカス記法 3.2 構文図法 3.3 文法と言語の形式的定義 3.4 解析木 3.5 あいまいな文法 4. 字句解析 4.1 文字読取り 4.2 字句読取り 4.3 正規表現よ有限オートマトン 4.4 字句読取りプログラムの例 5. 構文解析 5.1 構文解析手法の簡単な歴史 5.2 下向き構文解析法 下向き構文解析法とその問題点/LL(1)文法/ 再帰的下向き構文解析プログラ/文法からの再帰的下向き構文解析プログラムへ/ 非再帰的下向き構文解析法/あいまいな文法の扱い 5.3 LR構文解析法 上向き構文解析法/LR構文解析の概略/SLR(1)構文解析/LR(1)構文解析/ LALR(1)構文解析/あいまいな文法の扱い/正規右辺文法のLR構文解析 5.4 演算子順位構文解析法 演算子順位文法/演算子順位行列による構文解析/演算子順位関数 5.5 構文解析法の選択 5.6 構文解析器生成系 6. 意味解析 6.1 意味解析とは 6.2 記号表 記号表の情報/記号表の検索/ブロック構造と記号表 6.3 属性文法 属性文法の簡単な例/属性文法の定義/属性評価器/1パス型属性文法/ 属性文法の拡張子と応用 7. 誤りの処理 7.1 誤りの発見 構文上の誤り/意味上の誤り 7.2 誤りの情報の出力 7.3 誤りの修復 7.4 正常処理への復帰 8. 実行時記憶域と仮想マシン 8.1 実行時記憶域 基本データ型の表現/配列型と構造体型の表現/クラスの表現/ 手続きの使う記憶域 8.2 仮想マシンと通訳系 仮想マシンとは/仮想マシンの命令/仮想マシン語への変換/ 仮想マシンの実現(通訳系) 9. 目的コード生成 9.1 中間語と機械語 9.2 式のコード生成 オペランド参照のコード/算術式のコード 9.3 文のコード生成 分岐文のコード/手続きの呼出しのコード/例外処理のコード 9.4 コード生成器生成系 木のパターンマッチングによるコード生成/ 構文解析法によるパターンマッチングでのコード生成/ ダイナミックプログラミングによるコード生成 9.5 実行時コード生成 動的コードの生成/JITコンパイラ 目的コードの最適化 10. 最適化とは 10.1 最適化の例(行列の掛け算の例) 配列要素の配置と番地計算/ 最適化の例1(スカラ計算機の場合)/ 最適化の例2(アクセス効率とループ変換)/ 最適化の例3(ベクトル計算機の場合)/ 最適化の例4(並列計算機の場合) 11. 最適化の方法 11.1 命令の実行回数を減らす 共通部分式の削除/定数の畳み込み/命令のループの外への移動/ 部分冗長性の除去/ループの変換/式の性質の利用/無用命令の削除/ 複写の削除/手続き呼出しの特殊化/オブジェクトのインライン割当て/ 判定の置換え/のぞき穴式最適化 11.2 より速い命令の利用 レジスタ割付け/特殊な命令の利用/メモリアクセク順序の最適化 (メモリ階層の有効利用)/演算の強さの軽減 11.3 並列度を上げる 命令レベル並列実行/データ並列実行 11.4 最適化の方法の適用順序 12. 最適化のアルゴリズム 12.1 制御フローグラフ 12.2 データの流れの解析 共通部分式の削除(基本ブロックと拡張基本ブロック内)/ 変数の使用に対応する定義の解析/データの流れの等式の一般形/ 共通部分式の削除(大域的)/ループ/ループの外への移動/ 変数の生と死の解析/無用命令の削除/定数伝播と畳み込み/ 部分冗長性の除去/手続き間解析/ポインタ解析/ 最適化の各操作の適用順序 12.3 静的単一代入形式(SSA形式) SSA形式の求め方/制御依存グラフとプログラム依存グラフ/ 無用命令の削除/共通部分式の削除/ループの外への移動/ 帰納変数/演算の強さの軽減と判定の置換え/定数伝播/ 部分冗長性の除去/ポインタ解析 12.4 命令スケジューリング(並列実行) 基本ブロック内の命令スケジューリング/基本ブロックにまたがった 命令スケジューリング/ソフトウェアパイプライニング/ 条件文がある場合のソフトウェアパイプライニング/ 整数線形計画法によるソフトウェアパイプライニング 12.5 レジスタ割付け 簡単な割付け法/生存区間を使ったレジスタ割付け/ 整数線形計画法によるレジスタ割付け 12.6 配列要素の依存解析 データの依存関係/1重ループ内の依存関係とベクトル化/ 多重ループにおける依存関係/データ依存関係の解析法 12.7 ループ変換 ループ分配/ループ融合/ループ交換/ループ逆転/ループ傾斜/ 波頭変換/ループ細分/ループタイル化/ループ展開/ループ合体/ ループつぶし/ループ皮むき/ル−プ変換の適用順序 12.8 データ分散と通信 各プロセッサでの私物化/配列分散の解析/計算分散の解析/ 通信の解析/通信の最適化/データ分散の自動化/ 配列へのアクセスが規制的でない場合 13. 参考文献 14. あとがき 15. 索 引 |
|
|
コンパイラの仕組み 情報科学こんせぶつ8 ISBN4-254-12708-1 朝倉書店 渡邊 坦(電通大)著 野崎昭弘・黒川利明・疋田輝男・竹内郁雄・岩野和生 編集 A5判 196ページ 本体価格¥3.500 1998年4月発売 [内容] ある言語のコンパイラを実現する流れに沿い,問題解決に必要な技術を具体的に解説した実践書。 [目次] 1. プログラミング言語
|