授業科目名 : プログラミング言語処理系

科目コード 91280
配当学年 3年
開講年度・開講期 平成30年度・前期
曜時限 月曜・2時限
講義室 総合研究7号館情報1
単位数 2
履修者制限
授業形態 講義
使用言語 日本語
担当教員    所属・職名・氏名 情報学研究科・准教授・末永幸平

授業の概要・目的

プログラムを動作させるには,言語処理系と呼ばれる「プログラムを実行するプログラム」が必要である.例えば,プログラムを実行可能コードに変換するコンパイラや,プログラムを解釈しながら実行するインタプリタは言語処理系の一種である.言語処理系の作り方や理論は計算機の黎明期から研究が進められており,今なお活発に進化が続いている.本科目では,工学部専門科目「プログラミング言語」で扱った内容を踏まえて,言語処理系の実装とその理論について授業する.ブラックボックスと思われがちな言語処理系の中身を理解することを目標とする.

成績評価の方法・観点及び達成度

中間試験と期末試験の結果で評価する.
別途レポート課題を課すことがある.

到達目標

一般的な言語処理系の構成と動作について説明できる.
プログラミング言語とその処理系を設計するための基礎知識がある.
言語処理系設計の理論的背景について説明できる.

授業計画と内容

項目 回数 内容説明
イントロダクション 1 講義の全体を俯瞰する
講義で使用するプログラミング言語の説明 1 講義で使用するプログラミング言語について講義する
インタプリタ 5 言語処理系の一形態であるインタプリタについて講義する
中間試験 1 ここまでの理解度をチェックする
コンパイラのバックエンド 3 言語処理系の一形態であるコンパイラのバックエンドについて講義する
字句解析・構文解析 3 文字列として書かれたプログラムを言語処理系内で扱えるデータ構造に変換するアルゴリズムについて講義する
その他のトピック 1 ここまでで扱いきれなかったトピックについて講義する

教科書

授業中に配布する資料で講義する.

参考書等

授業中に指示する.

履修要件

工学部専門科目「プログラミング言語」「言語・オートマトン」で扱った内容を既知として授業を進める

授業外学習(予習・復習)等

授業中に予習課題と復習課題を指示することがある.
計算機科学コースの学生は,本科目で扱った座学的内容を同学期に開講される「計算機科学実験及演習3」を通じて実践的に理解することが望まれる

授業URL

授業中に指示する

その他(オフィスアワー等)

授業中に指示する.