授業方針・テーマ |
インタプリタ・コンパイラ内部の処理および動作の詳細について講述する。 |
習得できる知識・能力や授業の 目的・到達目標 |
プログラミング言語処理手法と設計方法について学ぶ。プログラミング言語の種類とインタプリタ・コンパイラ実装の種類、形式言語と言語処理の関連性、文法解析手法、言語処理時における変数や値の管理方法について学習する。 |
授業計画・内容 授業方法 |
1 ガイダンス 2 講義内容のアウトライン 3 字句解析(その1) 4 字句解析(その2) 5 字句解析(その3) 6 構文解析(その1) 7 構文解析(その2) 8 前半のまとめ 9 構文解析(その3) 10 構文解析(その4) 11 構文解析(その5) 12 評価(その1) 13 評価(その2) 14 評価(その3)・インタプリタの拡張 15 まとめ |
授業外学習 |
次回の内容を予習して出席すること。 教科書記載のプログラムに関連する演習課題を実施すること。 |
テキスト・参考書等 |
教科書 Thorsten Ball (著), 設樂 洋爾 (翻訳)「Go言語でつくるインタプリタ」(オライリージャパン 2018)
参考書 ・林晴比古「明快入門 インタプリタ開発 基本技術から処理系の実装まで(林晴比古実用マスターシリーズ)」(SBクリエイティブ 2012) ・Compilers: Principles, Techniques, and Tools、(日本語版有り) ・Programming Languages: Concepts and Constructs (Second Edition), Ravi Sethi, ISBN 0-201-59065-4(日本語版有り) |
成績評価方法 |
評価 試験95% 課題・演習5% (状況に応じて試験をレポート等に変更する可能性がある。その場合は授業中に指示を行う。) |
質問受付方法 (オフィスアワー等) |
オフィスアワーは特に設定しないが、授業時間の前後に随時受け付ける。 それ以外の時間に質問したい場合はメールで連絡をすること。 |
特記事項 (他の授業科目との関連性) |
予め受講しておくべき講義 ・形式言語とオートマトン ・計算機システム ・プログラミング基礎演習I ・プログラミング基礎演習II ・データ構造とアルゴリズムI ・データ構造とアルゴリズムII |
備考 |
|