シラバス参照

授業情報/Class Information

科目一覧へ戻る 2024/03/27 現在

基本情報/Basic Information

遠隔授業(授業回数全体の半分以上)の場合は、科目名の先頭に◆が付加されています(2023年度以降)
開講科目名
/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 Information

教員名
/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) 試験

科目一覧へ戻る