1
|
授業計画/Class |
【一回目の授業のみオンデマンドで実施・first lecture only is on demand】 Overview: Applications of language theory and compilers, overall structure of compilers / 授業の概要: 言語理論とコンパイラの応用分野、コンパイラ全体の仕組み |
事前学習/Preparation |
Dürst 研究室の Moodle で授業に登録; Enrollment Key については CoursePower を見てください。 |
事後学習/Reviewing |
宿題の提出 (C プログラム断片の字句解析の結果、構文解析の結果、コンパイラの出力) |
|
2
|
授業計画/Class |
Importance, classification, and definition of formal languages; finite automata / 形式言語の重要性、種類と定義; 有限オートマトン |
事前学習/Preparation |
復習; 集合についての調査 |
事後学習/Reviewing |
宿題の提出 (クリーン閉包の計算、文法による導出) |
|
3
|
授業計画/Class |
Deterministic and non-deterministic finite state automata / 決定性有限オートマトンと非決定性有限オートマトン |
事前学習/Preparation |
復習; 演習用ソフトのインストール |
事後学習/Reviewing |
宿題の提出 (NFA から DFA への変換) |
|
4
|
授業計画/Class |
(left and right) linear grammars, regular expressions / (左・右) 線形文法、正規表現 |
事前学習/Preparation |
復習; 演習用ソフトの確認 |
事後学習/Reviewing |
宿題の提出 (線形文法・有限オートマトン・正規表現の変換) |
|
5
|
授業計画/Class |
Tools for lexical analysis / 字句解析ツール |
事前学習/Preparation |
復習; 演習用ソフトインストール済みのノートPCの持参 |
事後学習/Reviewing |
字句解析ツールの演習の完成 |
|
6
|
授業計画/Class |
From lexical analysis to parsing / 字句解析から構文解析へ |
事前学習/Preparation |
復習; 中間テストの準備 |
事後学習/Reviewing |
宿題の提出 (字句解析) |
|
7
|
授業計画/Class |
Context-free grammars / 文脈自由文法 |
事前学習/Preparation |
復習; 様々なプログラミング言語の文法の調査 |
事後学習/Reviewing |
宿題の提出 (簡単な式のための文法からの導出) |
|
8
|
授業計画/Class |
Top-down parsing / 下向き構文解析 |
事前学習/Preparation |
復習; 演習用ノートPCの持参 |
事後学習/Reviewing |
宿題 (再帰的下向き構文解析の実装) の提出 |
|
9
|
授業計画/Class |
Use of tools for parsing / 構文解析用のツール |
事前学習/Preparation |
復習; 上向き構文解析用ツールのインストールの確認; ノートPCの持参 |
事後学習/Reviewing |
宿題 (上向き構文解析ツール、単純編) の提出 |
|
10
|
授業計画/Class |
Principles of bottom-up parsing / 上向き構文解析の原理 |
事前学習/Preparation |
復習; 宿題 (上向き構文解析ツール、単純編) の見直し |
事後学習/Reviewing |
宿題 (上向き構文解析ツール、応用編) の解決案の考案 |
|
11
|
授業計画/Class |
Error processing, semantic analysis, intermediate representations / 構文解析時のエラー処理、意味解析、中間表現 |
事前学習/Preparation |
復習; 宿題 (上向き構文解析ツール、応用編) についての質問の準備 |
事後学習/Reviewing |
宿題 (上向き構文解析ツール、応用編) の完成と提出 |
|
12
|
授業計画/Class |
Turing Machines / チューリング機械 |
事前学習/Preparation |
復習; チューリング機械についての事前学習 |
事後学習/Reviewing |
宿題 (チューリング機械による計算) の提出 |
|
13
|
授業計画/Class |
Code generation / コード生成 |
事前学習/Preparation |
復習 |
事後学習/Reviewing |
宿題 (if 文などのコード生成) の提出 |
|
14
|
授業計画/Class |
Code optimization / 最適化 |
事前学習/Preparation |
復習; 最適化の方法の考案 |
事後学習/Reviewing |
宿題 (コードの最適化) の提出 |
|
15
|
授業計画/Class |
Executing environment: virtual machines, garbage collection / 実行環境: 仮想計算機、ゴミ集め |
事前学習/Preparation |
復習; ゴミ集めについての事前学習 |
事後学習/Reviewing |
特になし |
|