L0940200

Compiler
Functions, structures and implementations of compilers, software that processes programming languages, are explained.
By learning compilers, students will understand deeply mechanisms of programming languages.
- To understand functions of compilers
- To understand programming languages from a viewpoint of a compiler designer
- To understand structures of compilers
- To understand implementations of compilers
|
Class schedule |
HW assignments (Including preparation and review of the class.) |
Amount of Time Required |
1. |
Overview of compilers |
textbook chap. 1 |
90minutes |
exercises |
90minutes |
2. |
Simple example of a compiler |
textbook chap. 2 |
90minutes |
review |
90minutes |
3. |
Grammar and language |
textbook chap. 3 |
90minutes |
exercises |
90minutes |
4. |
Lexical analyzer (1) : reading tokens, regular expressions and finite automaton |
textbook chap. 4 |
90minutes |
exercises |
90minutes |
5. |
Lexical analyzer (2) : exercises |
textbook chap. 4 |
90minutes |
exercises |
90minutes |
6. |
Parsing (1) : top-down parsing |
textbook chap. 5 |
90minutes |
review |
90minutes |
7. |
Parsing (2) : recursive top-down parsing |
textbook chap. 5 |
90minutes |
exercises |
90minutes |
8. |
Parsing (3) : exercises |
textbook chap. 5 |
90minutes |
review |
90minutes |
9. |
Intermediate exam and comments |
review |
180minutes |
10. |
Semantic analyzer : semantic analysis, symbol table, block structure |
textbook chap. 6 |
90minutes |
exercises |
90minutes |
11. |
Virtual machines and interpreter (1) : implementation of virtual machines |
textbook chap. 7 |
90minutes |
exercises |
90minutes |
12. |
Virtual machines and interpreter (2) : code generation and interpreter |
textbook chap. 8 |
90minutes |
exercises |
90minutes |
13. |
Advanced topics : real compilers, optimization |
consult related matters |
90minutes |
review |
90minutes |
14. |
Final exam and comments |
review all |
180minutes |
Total. |
- |
- |
2520minutes |
Relationship between 'Goals and Objectives' and 'Course Outcomes'
|
mini tests and assignments |
intermediate exam |
final exam |
Total. |
1. |
|
10% |
|
10% |
2. |
5% |
10% |
5% |
20% |
3. |
5% |
10% |
15% |
30% |
4. |
10% |
10% |
20% |
40% |
Total. |
20% |
40% |
40% |
- |
Evaluation method and criteria
Mini tests and assignments (20%), intermediate exam (40%) and final exam (40%)
Textbooks and reference materials
I. Nakata, "Compilers", Ohm-sha, 1995.
Required: knowledge about C language.
Desirable: Formal language and automaton, programming language theory.
Office hours and How to contact professors for questions
Relation to the environment
Non-environment-related course
Non-regionally-oriented course
Development of social and professional independence
- Non-social and professional independence development course
More than one class is interactive
Last modified : Wed Oct 17 06:49:39 JST 2018