三重大学ウェブシラバス


シラバス表示

 シラバスの詳細な内容を表示します。

→ 閉じる(シラバスの一覧にもどる)

科目の基本情報

開講年度 2024 年度
開講区分 工学部情報工学科/総合工学科情報工学コース ・専門教育
受講対象学生 学部(学士課程) : 3年次
選択・必修 必修
授業科目名 コンパイラ
こんぱいら
Compiler Design
単位数 2 単位
ナンバリングコード
開放科目 非開放科目    
開講学期

前期

開講時間 木曜日 7, 8時限
授業形態

対面授業

* 状況により変更される可能性があるので定期的に確認して下さい

「オンライン授業」・・・オンライン会議ツール等を利用して実施する同時双方向型の授業
「ハイブリッド授業」・・・「対面授業」と「オンライン授業」を併用した授業
「オンデマンド授業」・・・動画コンテンツの配信等によって実施する授業

開講場所

担当教員 太田 義勝(非常勤講師)

OHTA, Yoshikatsu

SDGsの目標
連絡事項

* 状況により変更される可能性があるので定期的に確認して下さい

学修の目的と方法

授業の概要 コンパイラは,高水準のプログラミング言語から機械語レベルの命令列へと変換するソフトウェアである.この講義では,コンパイラの各フェーズ(処理の論理的なまとまり)がどのように構成され,どんな理論に基づいて実現されているかを学ぶ.また,プログラミング言語処理系を実際に作る際に役立つ基礎技術を修得する.
学修の目的 コンパイラについて,次の観点から理解を深める.
・構成と仕組み
・基礎理論
・作成技術
学修の到達目標 ●字句解析:正規表現で字句構文を記述できる.字句解析器の仕組みを説明できる.
●構文解析:文脈自由文法で言語の構文を記述できる.導出や解析木を使って,文法に基づいて字句列を解析できる.等価変換の各種の手法を使って文法を変形できる.再帰下降構文解析とLR構文解析の考え方を説明できる.文法が LL(1) であるかや LR(1) であるかを,(必要ならツールの助けを借りて)判定できる.文法に沿って構文解析手続きを実現できる.
●意味解析:式や文を中間コードに変換できる.構文主導翻訳に基づく属性値の計算ができる.記号表の役目を説明できる.手続き実行時のコールスタックの動作を説明できる.
●最適化:各種の局所最適化を,例を挙げて説明できる.例題に対してDAGを使った局所最適化ができる.各種の大域最適化を,例を挙げて説明できる.例題に対してデータフロー解析ができる.
●コード生成:算術式の構文木の例に対してコード生成ができる.中間コードの例に対してレジスタ割り当てができる.
ディプロマ・ポリシー
○ 学科・コース等の教育目標
 情報工学の基礎知識を身につけ、科学技術が社会や自然環境に及ぼす影響を理解し、責任ある技術者として行動できる。【技術者倫理】
 情報工学科に関連する様々な分野に関心をもち、未知分野を理解するために、自主的、継続的に学習できる。【自主的継続的学習】
 世界に多様な考え方があることを学び、様々な立場の考えや意見を尊重し、多面的に物事を考えることができる。【多面的な思考能力】
 情報工学に関連する課題に対して、与えられた条件や期限を熟慮し、計画的に作業を進め、報告できる。【計画的な活動】
 専門分野の英語で書かれた文献について理解し、説明できる.また、学習や実験で得た知見を、論理的に記述し、的確に発表し、討議できる。【コミュニケーション能力】
 自然科学と情報技術に関する十分な知識を修得し、それらの知識を応用できる。【知識の修得と応用】
 与えられた問題に対し、修得した知識や技術を利用して、関連情報を収集し、解決手法を提案し、実現できる。【問題解決能力】

○ 全学の教育目標
感じる力
  •  感性
  •  共感
  •  主体性
考える力
  •  幅広い教養
  •  専門知識・技術
  •  論理的・批判的思考力
コミュニケーション力
  •  表現力(発表・討論・対話)
  •  リーダーシップ・フォロワーシップ
  •  実践外国語力
生きる力
  •  問題発見解決力
  •  心身・健康に対する意識
  •  社会人としての態度・倫理観

○ JABEE 関連項目
成績評価方法と基準 期末試験10割.講義への10回以上の出席が期末試験の受験資格.6割以上の得点で合格.
授業の方法 講義

授業の特徴

PBL

特色ある教育

Moodleを活用する授業

英語を用いた教育

授業アンケート結果を受けての改善点 ウェブを活用して授業の情報や資料を見られるようにする.
教科書 なし (資料を配布)
参考書 『コンパイラ—原理・技法・ツール—』,A. V. エイホ,M. S. ラム,R. セシィ,J. D. ウルマン,第2版,サイエンス社,2009.
『プログラミング言語処理系』,佐々政孝,岩波書店,1989.
オフィスアワー 電子メールで受け付けます(E-mail:ohta@net.info.mie-u.ac.jp) 。
受講要件
予め履修が望ましい科目 データ構造・アルゴリズム論 ,離散数学,オートマトン・形式言語理論,計算機言語論
発展科目 情報工学実験
その他

授業計画

MoodleのコースURL
キーワード プログラミング言語,字句解析,構文解析,意味解析,中間コード生成,コード最適化,コード生成
Key Word(s) programming language, lexical analysis, syntax analysis, semantic analysis, intermediate code generation, code optimization, code generation
学修内容 ●第1回 序論
 言語処理系,コンパイラの構造
●第2回 字句解析
 字句解析とは,正規表現,有限オートマトン,字句解析器の生成ツール
●第3回 構文解析 1
 構文解析とは,文脈自由文法
●第4回 構文解析 2
 導出と解析木の対応,下向き構文解析
●第5回 構文解析 3
 LL(1)文法,文法の等価変換
●第6回 構文解析 4
 LL(1)判定,拡張文脈自由文法
●第7回 構文解析 5
 上向き構文解析,LR構文解析
●第8回 構文解析 6
 LR(1)文法,構文解析器の生成ツール
●第9回 意味解析 1
 意味解析とは,中間表現
●第10回 意味解析 2
 構文主導翻訳,後置表記の計算,制御文の命令列への翻訳
●第11回 最適化 1
 最適化とは,制御フローグラフ,最適化の種類
●第12回 最適化 2
 局所最適化,DAGによる最適化
●第13回 最適化 3
 大域最適化,データフロー解析
●第14回 目的コード生成
 コード生成とは,算術式のコード生成,レジスタ割り当て
●まとめ
●第16回 期末試験
事前・事後学修の内容 授業前に学習事項を確認し,配布資料や参考書を読んで疑問点を整理しておく.
事前学修の時間:90分/回    事後学修の時間:150分/回

Copyright (c) Mie University