コンパイラ実習
授業目的 |
---|
C++プログラミング,言語処理系における抽象構文木の表現と操作の手法,lex/yaccによる言語処理等を習得することを目的とする. |
到達目標 |
・C++基礎的なプログラミングを習得し,継承やポリモーフィズムを用いたプログラミングができる. ・言語の抽象構文木のような木構造のデータ構造を構築できる. ・lex/yaccを用いて字句解析と構文解析を行う処理系を構築できる. ・2,000行程度のプログラムを書き,そのデバッグができる. |
授業計画 | |
---|---|
第1回 | C++(1)CからC++へ 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第2回 | C++(2)標準ライブラリSTL 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第3回 | C++(3)コンストラクタ,デストラクタ,代入 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第4回 | C++(4)継承とポリモーフィズム 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第5回 | 抽象構文木の実装 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第6回 | 抽象構文木の実装 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第7回 | インタープリタの実装 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第8回 | インタープリタの実装 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第9回 | lexの使用法 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第10回 | yaccによる抽象構文木の構築 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第11回 | yaccによる抽象構文木の構築 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第12回 | yaccによる抽象構文木の構築 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第13回 | yaccによる抽象構文木の構築 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
第14回 | yaccによる抽象構文木の構築 【授業外学修】課題のプログラムを完成させて提出すること(3時間) |
【授業外学修】 | プログラミング実習IIIを履修していることが必須である. コード量が 2,000行程度になるので, プログラミングに自信のない者には履修を勧めない. |