石浦菜岐佐
授業
コンパイラ実習
Compiler Exercise 2024
授業案内
成績評価基準
スケジュール
オンライン
プログラム
レポート提出
成績統計
連絡先
2024年度は
原則として対面
で実施します.
7回目までは対面で出席して下さい
8回目以降はレポートの提出状況により, 個別にオンライン(同時双方向型やオンデマンド型) での出席を許可します.
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 による構文解析