言語処理系

科目基礎情報

学校 鹿児島工業高等専門学校 開講年度 令和06年度 (2024年度)
授業科目 言語処理系
科目番号 4104 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 履修単位: 1
開設学科 情報工学科 対象学年 3
開設期 後期 週時間数 2
教科書/教材 なし
担当教員 堂込 一秀

到達目標

コンパイラを構成する字句解析器と構文解析器とコード生成器を作れる。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
下向き構文解析器の動作を追跡できる。与えられた文法に対する上向き構文解析器を完成させて、具体的なソースプログラムに対する動作を追跡できる。与えられた文法に対する上向き構文解析器を用いて、具体的なソースプログラムに対する動作を追跡できる。下向き構文解析器の動作を追跡できない。
上向き構文解析器の動作を追跡できる。与えられたAction表とGoto表を用いて、具体的なソースプログラムに対するLR構文解析器の動作を追跡できる。与えられたAction表とGoto表を用いて、具体的なソースプログラムに対するLR構文解析器の動作を部分的に追跡できる。LR構文解析器の動作を追跡できない。
式と制御文と関数に対するコード生成の手法を示せる。具体的なソースプログラムの式と制御文と関数に対してアセンブリ言語の命令列を示せる。式と制御文と関数に対するアセンブリ言語の命令列を部分的に示せる。式と制御文と関数に対するアセンブリ言語の命令列を示せない。
最適化の手法を示せる。具体的なアセンブリ言語の命令列に対していくつかの最適化の手法を適用できる。いくつかの最適化の手法を説明できる。最適化の手法を説明できない。

学科の到達目標項目との関係

本科(準学士課程)の学習・教育到達目標 3-c 説明 閉じる

教育方法等

概要:
ソフトウェア技術者はコンパイラの内部構造を理解することが不可欠である。本科目の受講生にはコンパイラを構成する字句解析器と構文解析器とコード生成器を作れるようになることが求められる。
授業の進め方・方法:
授業はスライド資料を用いた講義形式で行う。授業資料は事前に配布する。授業では予習で分らなかったことを中心に理解を深めること。
注意点:
コンパイラの理論は集合の記法を用いて記述されることが多い。読解できるように慣れておくこと。

授業の属性・履修上の区分

アクティブラーニング
ICT 利用
遠隔授業対応
実務経験のある教員による授業

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 構文解析 下向き構文解析器と上向き構文解析器の特徴を示せる。下向き構文解析器に適合するように文法の左再帰性を除去できる。
2週 構文解析 与えられた文法に対するFirst集合とFollow集合を求められる。
3週 構文解析 与えられた文法に対するDirector集合を求められる。LL(1)文法の判定ができる。
4週 構文解析 与えられた文法に対する下向き構文解析器を作れる。
5週 構文解析 下向き構文解析器の動作をトレースできる。
6週 構文解析 上向き構文解析器の動作をトレースできる。
7週 演習 ここまでの学習内容に関わる質問に解答できる。
8週 中間試験 試験において間違えた部分を自分の課題として把握する(非評価項目)。
4thQ
9週 意味解析 構文解析と意味解析の役割分担を示せる。
10週 コード生成 式に対するコード生成手法を示せる。
11週 コード生成 制御文に対するコード生成手法を示せる。
12週 コード生成 関数に対するコード生成手法を示せる。
13週 最適化 最適化の具体例を示せる。
14週 演習 ここまでの学習内容に関わる質問に解答できる。
15週 試験答案の返却・解説 試験において間違えた部分を自分の課題として把握する(非評価項目)。
16週

評価割合

試験課題態度合計
総合評価割合60400100
専門的能力60400100