システムプログラム

科目基礎情報

学校 群馬工業高等専門学校 開講年度 令和05年度 (2023年度)
授業科目 システムプログラム
科目番号 4J015 科目区分 専門 / 必修
授業形態 授業 単位の種別と単位数 学修単位: 2
開設学科 電子情報工学科 対象学年 4
開設期 後期 週時間数 2
教科書/教材 教科書:コンパイラ 作りながら学ぶ:中田育男
担当教員 菊地 洋右

到達目標

□形式言語の概念について説明できる。
□オートマトンの概念について説明できる。
□コンパイラの役割と仕組みについて説明できる。
□形式言語が制限の多さにしたがって分類されることを説明できる。
□正規表現と有限オートマトンの関係を説明できる。
□コンパイラを構成する基本的なアルゴリズムを説明できる.
□字句解析を理解でき, 簡易的な字句解析器を自作できる.
□構文解析を理解でき, 簡易的な構文解析器を自作できる.
□コード生成を理解でき, スタックマシンのコード生成器を自作できる.

ルーブリック

理想的な到達レベルの目安標準的な到達レベルの目安未到達レベルの目安
評価項目1コンパイラを構成する基本的なアルゴリズムを十分に説明できる.コンパイラを構成する基本的なアルゴリズムを説明できるコンパイラを構成する基本的なアルゴリズムを説明できない
評価項目2字句解析を理解でき, 簡易的な字句解析器を十分に自作できる字句解析を理解でき, 簡易的な字句解析器を自作できる 字句解析を理解でき, 簡易的な字句解析器を自作できない
評価項目3構文解析を理解でき, 簡易的な構文解析器を十分に自作できる構文解析を理解でき, 簡易的な構文解析器を自作できる構文解析を理解できず, 簡易的な構文解析器を自作できない
評価項目4コード生成を理解でき, スタックマシンのコード生成器を十分に自作できるコード生成を理解でき, スタックマシンのコード生成器を自作できるコード生成を理解できず, スタックマシンのコード生成器を自作できない

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

教育方法等

概要:
この科目では,高級言語で書かれたプログラムを機械語のプログラムに変換する『コンパイラ』の原理について学ぶ.
プログラム動作環境を提供するコンピュータの基本原理を理解し,文法の定義方法,コンパイラの初期段階に位置づけられる字句解析技法を理解する.また構文解析,意味解析の手法を理解し,コード生成技法を学ぶ.PL/0'言語について,コンパイラ作成演習をおこない,理解を深める.
授業の進め方・方法:
講義はスライドで行う.学修単位科目であるので毎週課題が出題される.締め切りに間に合わなかった課題は採点されないことがある。
教科書掲載のPL/0' コンパイラを自分で動かしてみる中で,コンパイラの原理を理解する.
注意点:

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

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

授業計画

授業内容 週ごとの到達目標
後期
3rdQ
1週 コンパイラの概要 コンピュータとプログラムの関係
コンパイラの概要・高級言語の位置づけ
2週 コンパイラの概要 プログラムと処理系の図式表示方法
変換系と通訳系
3週 コンパイラの基礎 後置記法
4週 コンパイラの基礎 スタック
論理的構造・物理的構造
5週 言語と文法 バッカス記法
6週 言語と文法 構文グラフ
7週 言語と文法 文法と言語の形式的定義
8週 中間試験
4thQ
9週 言語と文法 解析木
10週 言語と文法 PL/0'言語
11週 字句解析 文字読取り処理・字句解析
正規表現
12週 字句解析 非決定性オートマトンと決定性オートマトン
13週 字句解析 字句読取りプログラムの解析
14週 下向き構文解析 下向き構文解析とその問題点,LL(1)文法 
15週 定期試験
16週 答案返却

評価割合

試験課題・レポート合計
総合評価割合8020100
基礎的能力401050
専門的能力401050