P0500500
3 Programming Language Processor
Programming language processors are indispensable tools in software development. This course will discuss fundamental theories
and implementation methods of them.
The purpose of this class is to understand fundamental theories and implementation methods of programming language processors.
- Understand fundamental theories of programming language processing (regular expression, context-free grammar, LL(1) grammar,
syntax diagram, non-deterministic finite automata, deterministic finite automata, recursive decent parser)
- Understand how to translate from high level programming languages to low level languages, and the mechanism of virtual machines
(stack machine)
- Understand how to implement a simple compiler
|
Class schedule |
HW assignments (Including preparation and review of the class.) |
Amount of Time Required |
| 1. |
Introduction to programming language processors A simple compiler
|
Chapter 1 and 2 of the textbook |
190minutes |
| 2. |
Syntax and language |
Chapter 3 of the textbook |
190minutes |
| 3. |
Programming exercise (1) |
Review the lessons |
190minutes |
| 4. |
Lexical analysis (1) |
Chapter 4 (P49-P60) of the textbook |
190minutes |
| 5. |
Lexical analysis (2) |
Chapter 4 (P60-P64) of the textbook |
190minutes |
| 6. |
Lexical analysis (3) Programming exercise
|
Review the lessons |
190minutes |
| 7. |
Syntax analysis (1) |
Chapter 5 (P77-P89) of the textbook |
190minutes |
| 8. |
Syntax analysis (2) |
Chapter 5 (P89-P100) of the textbook |
190minutes |
| 9. |
Syntax analysis (3) Programming exercise
|
Review the lessons |
190minutes |
| 10. |
Semantic analysis Error handling Virtual machine and interpreter (1)
|
Chapter 6, 7, and 8 (P129-P132) of the textbook |
190minutes |
| 11. |
Virtual machine and interpreter (2) |
Chapter 8 (P132-P148) of the textbook |
190minutes |
| 12. |
Programming exercise |
Review the lessons |
190minutes |
| 13. |
Programming exercise |
Review the lessons |
190minutes |
| 14. |
Optimization |
Review the lesson |
190minutes |
| Total. |
- |
- |
2660minutes |
Relationship between 'Goals and Objectives' and 'Course Outcomes'
|
Reports and mini tests |
Total. |
| 1. |
35% |
35% |
| 2. |
30% |
30% |
| 3. |
35% |
35% |
| Total. |
100% |
- |
Evaluation method and criteria
Students will be evaluated based on reports and mini tests.
Textbooks and reference materials
中田育男著、新コンピュータサイエンス講座「コンパイラ」、オーム社、ISBN4-274-13013-4
Date Structures and Algorithms 1
Date Structures and Algorithms 2
Information Processing 2
Exercises in Information Processing 2
Office hours and How to contact professors for questions
- Lunch break on Friday
- E-mail
Non-regionally-oriented course
Development of social and professional independence
- Course that cultivates an ability for utilizing knowledge
More than one class is interactive
Course by professor with work experience
| Work experience |
Work experience and relevance to the course content if applicable |
| N/A |
該当しない |
Education related SDGs:the Sustainable Development Goals
- 4.QUALITY EDUCATION
- 9.INDUSTRY, INNOVATION AND INFRASTRUCTURE
Last modified : Sun Mar 21 16:27:17 JST 2021