| #1 プログラミング言語とは | #1 What programming languages are? | r01.pdf | ohp01.pdf | cd01 |
| #2 BNFによる文法の記述 | #2 Grammer specification with BNF | r02.pdf | ohp02.pdf | cd02 |
| #3 言語処理系の構成 | #3 Structures of language processors | r03.pdf | ohp03.pdf | cd03 |
| #4 形式言語 | #4 Formal languages | r04.pdf | ohp04.pdf | cd04 |
| #5 字句解析 | #5 Lexcal analysis | r05.pdf | ohp05.pdf | cd05 |
| #6 構文解析(1) | #6 Syntax analysis (1) | r06.pdf | ohp06.pdf | cd06 |
| #7 構文解析(2) | #7 Syntax analysis (2) | r07.pdf | ohp07.pdf | cd07 |
| #8 構文解析(3) | #8 Syntax analysis (3) | r08.pdf | ohp08.pdf | cd08 |
| #9 コンパイラコンパイラ #10 (同つづき) | #9 Compiler-Compilers #10 (continued) | r09.pdf r09b.pdf | ohp09.pdf ohp09b.pdf | cd09 cd09b |
| #11 意味解析と記号表 | #11 Semantic analysis and symbol tables | r10.pdf | ohp10.pdf | cd10 |
| #12 実行時環境とコード生成 #13 (同つづき) | #12 Runtime environment and code generation #13 (continued) | r11.pdf | ohp11.pdf | cd11 |
| #14 コード解析と最適化 | #14 Code analysis and Optimization | r12.pdf | ohp12.pdf | cd12 |
| #15 オブジェクト指向言語の実装 | #15 Implementing Object-Oriented Languages | r13.pdf | ohp13.pdf | cd13 |
| 1931125 | 1 | 2 | 3 |
| 1831013 | 1 | 2 | |
| 1931026 | 1 | 2 | |
| 1931010 | 1 | 2 | 3 |
| 1931098 | 1 | ||
| 1931150 | 1 late |
システムソフトウェア特論2019 Advanced Topics on System Software (IE) Foundations of Software Systems I (IS) 講義の狙い、目標 プログラミング言語処理系およびそれに関連のあるシステムソフトウェ アについて、実例を中心に学ぶ。Java言語を用いて実際にさまざまな実 装を構築し、具体的な概念を身に付ける。 This lecture investigate systems software related with programming language processors with example-based scheme. We mainly use Java language to implement various systems software and pursue related principles and concepts. 内容と進め方 毎回例題を配布し実際にそれを動かし、また改良してみることで 各回の概念を理解する。 Example programs are presented on each hour. Students are expected to run, modify and improve thos programs so that they can graps and further understand the topics. #1 プログラミング言語とは #1 What programming languages are? #2 BNFによる文法の記述 #2 Grammer specification with BNF #3 言語処理系の構成 #3 Structures of language processors #4 字句解析 #4 Lexcal analysis #5 形式言語 #5 Formal languages #6 構文解析(1) #6 Syntax analysis (1) #7 構文解析(2) #7 Syntax analysis (2) #8 構文解析(3) #8 Syntax analysis (3) #9 抽象構文木 #9 Abstract syntax trees #10 意味解析と記号表 #10 Semantic analysis and symbol tables #11 コード生成と最適化 #11 Code generation and optimizations #12 並列性 #12 Parallelism #13 分散性 #13 Distribution #14 変わった言語機構 #14 Topics on language mechanisms #15 総合課題 #15 General assignment 授業時間外の学習 授業時に提示した課題から複数選択してレポートとして提出 いただくので、そのための作業をお願いします。 Students are expected to write several reports based on practices in the class, so they are expected to do those practices out of the class. 成績評価方法 成績評価は授業時の課題提出とレポートの内容に基づきます。 Evaluation will be based on results of pratices in the class and submitted reports. 学生へのメッセージ プログラミング言語処理系は多様な技術を内包しており、さまざまなア ルゴリズムや考え方を学ぶことができ、楽しい分野だと思います。学生 さんのレベルに基づいて楽しんで頂けるよう考えます。 Implementation of language processors contains varous ideas and algorithms, so it is an enjoyable topic. The lecturer will adjust contens of the class acccording to the backgrounds of the attendands. その他 nothing. キーワード programming languages, grammers, parsing algorithm, formal languages, parser generators, abstract syntax trees, optimizaiton, concurrncy, distribution.