石浦菜岐佐
授業
コンパイラ実習
Compiler Exercise 2025
授業案内
成績評価基準
スケジュール
オンライン
プログラム
レポート提出
成績統計
連絡先
2025年度の演習は対面で実施します
C++とyacc/lexを用いて, 簡単な言語 (C言語サブセット) のインタープリタを作成します.
「継承」や「仮想関数」等C++のオブジェクト指向の概念を使ったプログラミングをします.
lexによる字句解析系生成, yaccによる構文解析系生成を使います.
プログラミングの行数は2,000行くらいになりますが, 難度は著しくは高くありません (授業科目「コンパイラ」の演習よりは楽です).
授業科目「コンパイラ」とは独立した内容なので, 必ずしも「コンパイラ」を履修している必要はありません.
前提とする C++ の習熟度について 【重要】
プログラミング実習IIIのC++課題 (4回分) を完了しているのが理想です.
そうでない場合には, 内容を調整して本演習の中でC++課題をやるので, 履修は可能です. ただし, 標準的なスケジュールでの到達度は減るので, その分成績は低くなります.
可能な限り夏期休暇中にプログラミング実習IIIのC++課題 (4回分) を勉強しておいてください.
講義資料
レポート作成・提出の手引き
1. C++(1) 「CからC++へ」
2. C++(2) 「標準ライブラリSTL」
3. C++(3) 「コンストラクタ, デストラクタ, 代入」
4. C++(4) 「継承とポリモーフィズム」
5. 抽象構文木
6. インタープリタ
7. Lex による字句解析
8. Yacc による構文解析