計算機言語処理

科目基礎情報

学校 奈良工業高等専門学校 開講年度 令和03年度 (2021年度)
授業科目 計算機言語処理
科目番号 0071 科目区分 専門 / 必修
授業形態 講義 単位の種別と単位数 学修単位: 2
開設学科 情報工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 「コンパイラとバーチャルマシン」、今城哲二、布広永示、岩澤京子、千葉雄司 著、オーム社
担当教員 岡村 真吾

到達目標

【中間試験】
 プログラミング言語の記述方法、有限オートマトン、字句解析について理解する。
【期末試験】
 構文解析、意味解析、コード生成について理解する。

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
プログラミング言語の記述方法プログラミング言語の記述を理解できる。プログラミング言語の記述方法を理解している。プログラミング言語の記述方法に関する授業への取り組みができていない。
有限オートマトン有限オートマトンを生成することができる。有限オートマトンに関する定義を理解している。有限オートマトンに関する授業への取り組みができていない。
字句解析字句解析をすることができる。字句解析の概要を理解している。字句解析に関する授業への取り組みができていない。
構文解析構文解析をすることができる。構文解析の概要を理解している。構文解析に関する授業への取り組みができていない。
意味解析意味解析をすることができる。意味解析の概要を理解している。意味解析に関する授業への取り組みができていない。
コード生成コード生成をすることができる。コード生成の概要を理解している。コード生成に関する授業への取り組みができていない。

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

準学士課程(本科1〜5年)学習教育目標 (2) 説明 閉じる
JABEE基準 (d-1) 説明 閉じる
JABEE基準 (d-2a) 説明 閉じる
システム創成工学教育プログラム学習・教育目標 B-2 説明 閉じる
システム創成工学教育プログラム学習・教育目標 D-1 説明 閉じる

教育方法等

概要:
プログラミング言語で記述されたプログラムが、計算機で実行されるまでにどのように処理されるかについて学ぶ。
授業の進め方・方法:
コンパイラの基本的な仕組みについて、ソースコードからオブジェクトコードまでの変換手順に沿って学んでいく。
適宜、具体例の紹介や演習問題を交えて理解を深めていく。
注意点:
【参考書】
 「コンパイラ 作りながら学ぶ」、中田育男 著、オーム社
 「はじめてのコンパイラ」、宮本衛市 著、森北出版
 「コンパイラ」、湯浅太一 著、オーム社
 「コンパイラ」、辻野嘉宏 著、オーム社
【関連科目】
 プログラミング、計算理論
【学習指針】
 基本的には教科書に従って授業を進めるが、教科書に載っていない内容を扱うこともあるため、ノートを取ることを
 お薦めする。ただし、単に板書をそのまま書き写すのではなく、内容を理解し、自分なりに要約や補足をすること。
 レポートは、参考文献や他人の意見の単なるコピーではなく、自分自身による考えや作業の結果などが含まれるよう
 にすること。
【事前学習】
 規則正しい生活を送り、体調を整えておくこと。余力があれば教科書に目を通しておくこと。
【事後展開学習】
 各講義終了後速やかに、講義内容において理解できたことと理解できなかったことを整理すること。理解できなかっ
 たことについては、次回の講義までに解決しておくこと。
【評価割合】
 試験の成績(100%)で評価する。ただし、本科目への取り組み姿勢に問題がある場合(講義時間中に取り組むべき
 演習問題に取り組んでいない、レポート等の課題が未提出、提出物の内容が不十分、など)は最大61%減点すること
 がある。

学修単位の履修上の注意

講義時間中に提示する演習問題や教科書に掲載されている演習問題を自学自習時間に解くこと。演習問題の類似問題を試験で出題し、試験の成績として自学自習内容を評価する。

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 コンパイラの構成 コンパイラの論理的な構成を理解する。
2週 プログラミング言語の記述 バッカス記法と構文図式を理解する。
3週 字句解析(1) 字句解析の概要を理解する。
4週 字句解析(2) 正規表現と正規言語を理解する。
5週 字句解析(3) 正規表現から非決定性有限オートマトンを生成する方法を理解する。
6週 字句解析(4) 非決定性有限オートマトンから決定性有限オートマトンを生成する方法を理解する。
7週 中間試験 授業内容を理解し、正しく解答する。
8週 試験返却と解説 自身の答案を見直し、理解が不十分な点を解消する。
4thQ
9週 構文解析(1) 上向き構文解析法の概要を理解する。
10週 構文解析(2) 下向き構文解析法の概要を理解する。
11週 構文解析(3) LL(1)構文解析を理解する。
12週 意味解析 意味解析の概要を理解する。
13週 コード生成(1) 式と代入文のコード生成法を理解する。
14週 コード生成(2) if 文とwhile文のコード生成法を理解する。
15週 期末試験 授業内容を理解し、正しく解答する。
16週 試験返却と解説 自身の答案を見直し、理解が不十分な点を解消する。

モデルコアカリキュラムの学習内容と到達目標

分類分野学習内容学習内容の到達目標到達レベル授業週
専門的能力分野別の専門工学情報系分野システムプログラム形式言語の概念について説明できる。4後1,後2
オートマトンの概念について説明できる。4後5
コンパイラの役割と仕組みについて説明できる。4後1
形式言語が制限の多さにしたがって分類されることを説明できる。4後4
正規表現と有限オートマトンの関係を説明できる。4後4,後5,後6

評価割合

試験合計
総合評価割合100100
専門的能力100100