シラバス参照 |
科目一覧へ戻る | 2024/09/20 現在 |
開講科目名 /Course |
プログラミング言語処理系/Programming Language Systems | ||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
時間割コード /Course Code |
S1406710_S1 | ||||||||||||||||||||||||||||
開講所属 /Course Offered by |
システム工学部/Faculty of Systems Engineering | ||||||||||||||||||||||||||||
ターム・学期 /Term・Semester |
2024年度/Academic Year 第4クォーター/4Q | ||||||||||||||||||||||||||||
曜限 /Day, Period |
金/Fri 4 | ||||||||||||||||||||||||||||
開講区分 /Semester offered |
第4クォーター/4Q | ||||||||||||||||||||||||||||
単位数 /Credits |
1.0 | ||||||||||||||||||||||||||||
学年 /Year |
2,3,4 | ||||||||||||||||||||||||||||
主担当教員 /Main Instructor |
和田 俊和/Toshikazu Wada | ||||||||||||||||||||||||||||
科目区分 /Course Group |
_ | ||||||||||||||||||||||||||||
授業形態 /Lecture Form |
講義 | ||||||||||||||||||||||||||||
教室 /Classroom |
北1号館A101/北1号館A101 | ||||||||||||||||||||||||||||
開講形態 /Course Format |
|||||||||||||||||||||||||||||
ディプロマポリシー情報 /Diploma Policy |
|
教員名 /Instructor |
教員所属名 /Affiliation |
---|---|
和田 俊和/Toshikazu Wada | システム工学部(教員) |
授業の概要・ねらい /Course Aims |
本科目は,コンピュータ上で作成したプログラムテキストが,どのように処理されて実行されるのかを,主に生成文法を用いた字句解析と構文解析の観点から解説する. プログラミング言語によって記述されたプログラムテキストは,コンパイラによって機械語プログラムに変換された上で実行されたり,インタープリタによって逐次解釈実行されたりする.これらのプログラミング言語処理系では,プログラムテキスト中に現れる予約語,数値,変数名,などの「字句」を切り出して分類し,それらの関連を「構文解析に」によって求める. 生成文法によると,言語は,文を要素とする無限集合であり,文法によって定義される.文法とは,出発記号S,生成規則P,非終端記号N,終端記号Tの4つ組によって定義される.与えられたプログラムテキストを終端記号の列であると見なしたとき,出発記号にどのような順序で生成規則を適用して,与えられたプログラムテキストが生成されたのかを表す「導出木」が得られれば構文解析が行われたことになり,字句解析はこの前処理に相当する.この構文解析法については,最左導出を前提としたLL構文解析と最右導出を前提としたLR構文解析の2つがあり,両者について解説を行う. これらの説明を行った後,字句解析用オートマトン生成器であるlex,flexと,構文解析を行うコンパイラコンパイラであるyacc,bisonについて,使用法の説明を行い,理論だけでなく実践についても学ぶ. |
---|---|
到達目標 /Course Objectives |
プログラムテキストの表層構造を解析する体系的な手法について学び,プログラムテキストがどのように解析されるかを理解することと,lex,yacc等を用いて簡単な数式を解析するプログラムを作れるようになることを目標とする. |
成績評価の方法・基準 /Grading Policies/Criteria |
最後に行う試験による評価を行う.2回までの欠席は成績には影響しないが,3回以上欠席した場合は試験を受けることは出来ない.講義時間中に課す出席確認課題の期限内の提出によって出席をカウントする.この提出が無ければ,学生証のタッチによる出席があっても,欠席とする. |
教科書 /Textbook |
配付資料による |
参考書・参考文献 /Reference Book |
疋田 輝雄 (著), 石畑 清 (著) コンパイラの理論と実現 (計算機科学・ソフトウェア技術講座)共立出版 ISBN-10: 432002382X ISBN-13: 978-4320023826 |
履修上の注意 ・メッセージ /Notice for Students |
抽象度が高い事柄を学ぶので,予習復習はきちんと行うこと. |
履修する上で必要な事項 /Prerequisite |
通常の数学は用いないので,微積分,線形代数の知識は不必要.但し,プログラミング言語の使用経験は必要である. |
履修を推奨する関連科目 /Related Courses |
データ構造とアルゴリズム,情報応用1A,1B |
授業時間外学修についての指示 /Instructions for studying outside class hours |
予習復習を各Ⅰ時間以上行って下さい. |
その他連絡事項 /Other messages |
記載事項なし |
授業理解を深める方法 /How to deepen your understanding of classes |
講義時間内に毎回演習問題を課し,翌回に正答の説明を行う.【「アクティブ・ラーニング」実施要項 ⑪】 |
オフィスアワー /Office Hours |
月曜3,4コマ, A棟A513(和田) |
科目ナンバリング /Course Numbering |
S60053J11100E225,S60053J11100F225 |
No. | 回(日時) /Time (date and time) |
主題と位置付け /Subjects and instructor's position |
学習方法と内容 /Methods and contents |
備考(担当) /Notes |
---|---|---|---|---|
1 | 1(12/6) | プログラミングシステムの概要,文法とそのクラス,字句解析と正規文法 |
||
2 | 2(12/13) | 正規表現からの非決定性オートマトンの生成,決定性オートマトンへの変換 |
||
3 | 3(12/20) | 字句解析用オートマトン生成ソフトウエアの実際 | ||
4 | 4(12/27) | 構文解析と導出,文脈自由文法の構文解析法:LL構文解析 | ||
5 | 5(1/10) | 文脈自由文法の構文解析法:LR構文解析 |
||
6 | 6(1/17) | コンパイラ-コンパイラと構文解析の実際 | ||
7 | 7(1/24) | 講義の総括と演習問題 | ||
8 | 8(1/31) | 試験 |