プログラミング言語論

担当教員・研究室 単位数 種別 授業形態 ナンバリングコード
谷川 健 302研究室
単位 選択 講義 GSD505
アクティブラーニング
いいえ
授業概要
【2019年度 休講】

簡単な言語処理系(インタプリタなど)の作成ができることを目的に、プログラミング言語の構文解析や意味解析について学ぶ。
授業における学修の到達目標
プログラムが実行される仕組みについて理解する。
授業計画
回数 授業、事前・事後学習 時間
1 事前学習 プログラミング言語の変遷について調査しまとめたおく。 2
授業 プログラミング言語の歴史
事後学習 プログラミング言語の分類について整理する。 2
2 事前学習 プログラミング言語で記述されたプログラムを動作させる仕組みを調査しまとめておく。 2
授業 プログラム実行の仕組み
事後学習 プログラム動作の仕組むを整理する。 2
3 事前学習 字句解析のツールを調査しまとめておく。 2
授業 字句解析
事後学習 例題の字句解析プログラムを作成する。 2
4 事前学習 プログラムの文法を記述する方法について調査しまとめておく。 2
授業 バッカス記法
事後学習 例題をバッカス記法で表現する。 2
5 事前学習 例題のバッカス記法表現を完成させる。 2
授業 簡易言語の設計
事後学習 簡易言語をバッカス記法で表現する。
6 事前学習 簡易言語のバッカス記法表現を完成させる。 2
授業 構文解析
事後学習 構文解析用ツールについて調査しまとめる。 2
7 事前学習 RACCとは何か、どのように使うかを調査しまとめておく。 2
授業 RACCの概要
事後学習 例題をRACCで動作させる。 2
8 事前学習 簡易言語の字句解析を作成する。 2
授業 簡易言語インタプリタの実装(1)
事後学習 簡易言語インタプリタの実装(2) 2
9 事前学習 簡易言語インタプリタの実装(3) 2
授業 簡易言語インタプリタの実装(4)
事後学習 簡易言語インタプリタの実装(5) 2
10 事前学習 簡易言語インタプリタの実装(6) 2
授業 簡易言語インタプリタの実装(7)
事後学習 簡易言語インタプリタの実装(8) 2
11 事前学習 簡易言語インタプリタの実装(9) 2
授業 簡易言語インタプリタの実装(10)
事後学習 簡易言語インタプリタの実装(11) 2
12 事前学習 簡易言語インタプリタの実装(12) 2
授業 簡易言語インタプリタの実装についての発表
事後学習 簡易言語インタプリタの改良(1) 2
13 事前学習 インタプリタとコンパイラの処理の違いを整理しておく。 2
授業 簡易言語コンパイラの実装方針(1)
事後学習 簡易言語コンパイラの実装方針(2) 2
14 事前学習 簡易言語コンパイラの実装(1) 2
授業 簡易言語コンパイラの実装(2)
事後学習 簡易言語コンパイラの実装(3) 2
15 事前学習 簡易言語コンパイラの実装(4) 2
授業 まとめ
事後学習 レポート課題に解答する 2
成績評価の方法およびその基準
■演習課題:50% ■授業への取り組み状況:50%
課題(試験やレポート等)に対するフィードバック方法
課題が提出された後、講義内で課題の解答について解説を行う。
教科書
なし
参考書・Webサイト
青木峰郎:「ふつうのコンパイラをつくろう」ソフトバンククリエイティブ㈱(2009)
単位習得が望ましい科目
なし
備考
なし
担当教員の実務経験
なし