科目名 |
計算機言語論 |
担当教員 |
酒居 敬一 |
対象学年 |
1年,2年 |
クラス |
院:専門001 |
講義室 |
A105 |
開講学期 |
2学期 |
曜日・時限 |
月1,木1 |
単位区分 |
選択 |
授業形態 |
一般講義 |
単位数 |
2 |
準備事項 |
|
備考 |
|
授業の詳細1 |
講義の目的
現在のシステムではソフトウェアなしでは成り立たない.そこで本講義ではソフトウェアで記述する際に必要\ 不可欠なコンパイラおよび計算機言語について,その文法や意味論などについて学習する.
|
授業の詳細2 |
講義計画
・コンパイラ概論 コンパイラやインタプリタについて概説する. ・コンパイラの簡単な例 後置記法とスタックの関係を述べて,簡単なコンパイラで説明する. ・文法と言語 バッカス記法や解析木について講義する. ・字句解析1 文字読み取りや字句読みとりに関して必要な,正規表現や有限オートマトンを学習する. ・字句解析2 最長一致や最短一致などを,簡単な解析器を例に説明する. ・下向き構文解析 下向き構文解析とその問題点,そのプログラム実装について学習する. ・LR構文解析 LR構文解析だけではなく,SLR(1)構文解析やLR(1)構文解析やLALR(1)構文解析について学習する. ・演算子順位構文解析 まず演算子順位文法について説明し,演算子順位行列による構文解析を説明する. ・意味解析 まず意味解析について概説し,記号表および記号表の探索について学習する. ・属性文法 簡単な例で属性文法を説明した後,属性評価器や1パス型属性文法について学習する. ・誤りの処理 まず誤りについて説明し,解析器が誤りを検出した場合とプログラマにとってわかりやすい誤りの検出について比較しながら学ぶ. ・実行時記憶域 基本データ型や配列のような単純な型だけではなく,構造体やクラスといった複雑な型の記憶域上での表現について学習する. ・仮想機械 Javaコンパイラのように仮想機械を想定したコードを出力する処理系がある.ここではそのような仮想機械について学習する. ・目的コードの生成1 一般にコンパイラではいきなり最終的な目的コードを生成するのではなく,中間言語を経由する場合が多い.ここではそのような中間言語の必要性や有効性について学ぶ. ・目的コードの生成2 手続き型の言語では文がひとつの区切りとなって全体が構成されている.ここでは,文のコード生成について学習する. |
授業の詳細3 |
テキスト:必要に応じて配布する.
参考書:コンパイラの構成と最適化,中田育生著,朝倉書店.
成績評価:輪講形式で口頭発表を行なってもらい,その都度評価する.レポートを課す場合もある.
履修上の注意:なし.
備 考:なし. |
授業の詳細4 |
|
授業の詳細5 |
|
授業の詳細6 |
|
授業の詳細7 |
|
授業の詳細8 |
|
授業の詳細9 |
|
授業の詳細10 |
|
|