2020 Compiler Construction

Font size  SML

Register update notification mail Add to favorite lecture list
Academic unit or major
Undergraduate major in Computer Science
Instructor(s)
Gondow Katsuhiko 
Course component(s)
Lecture / Exercise
Day/Period(Room No.)
Tue5-6(W935)  Fri5-6(W935)  
Group
-
Course number
CSC.T372
Credits
2
Academic year
2020
Offered quarter
2Q
Syllabus updated
2020/3/24
Lecture notes updated
-
Language used
Japanese
Access Index

Course description and aims

This course gives theories and techniques of compilers in programming language processors, to understand how computers work fundamentally.

Student learning outcomes

(Goals) You learn theories and techniques of compilers.
(Topics) Main topics of this course are lexical analysis, parsing, context-free grammar, recursive-decent parser, LL parser, LR parser, PEG (parsing expression grammar), semantic analysis, code generation, and optimization.

Keywords

lexical analysis, parsing, context-free grammar, recursive-decent parser, LL parser, LR parser, PEG (parsing expression grammar), semantic analysis, code generation, optimization

Competencies that will be developed

Intercultural skills Communication skills Specialist skills Critical thinking skills Practical and/or problem-solving skills

Class flow

Classroom learning, programming exercise

Course schedule/Required learning

  Course schedule Required learning
Class 1 introduction introduction
Class 2 lexical analysis, regular expression (1) lexical analysis, regular expression (1)
Class 3 lexical analysis, regular expression (2) lexical analysis, regular expression (2)
Class 4 Parsing, context-free grammar (1): BNF, abstract syntax tree (AST) Parsing, context-free grammar (1): BNF, abstract syntax tree (AST)
Class 5 Parsing, context-free grammar (2): recursive-decent parser, LL parser Parsing, context-free grammar (2): recursive-decent parser, LL parser
Class 6 intermediate exam. intermediate exam.
Class 7 Parsing, context-free grammar (3): LR parser Parsing, context-free grammar (3): LR parser
Class 8 Parsing, context-free grammar (4): PEG (parsing expression grammar) Parsing, context-free grammar (4): PEG (parsing expression grammar)
Class 9 Semantic analysis (1): symbol table, scope Semantic analysis (1): symbol table, scope
Class 10 Semantic analysis (2): type checking Semantic analysis (2): type checking
Class 11 Code generation (1): control statements Code generation (1): control statements
Class 12 Code generation (2): constant, variable, expressions Code generation (2): constant, variable, expressions
Class 13 Code generation (3): function calls, stack frame Code generation (3): function calls, stack frame
Class 14 Code optimization Code optimization

Textbook(s)

None. Slides are available in lecture.

Reference books, course materials, etc.

None

Assessment criteria and methods

mid exam: 30%
programming exercise report: 35%
last exam: 35%

Related courses

  • CSC.T262 : Assembly Language
  • CSC.T243 : Procedural Programming Fundamentals
  • CSC.T253 : Advanced Procedural Programming

Prerequisites (i.e., required knowledge, skills, courses, etc.)

Desirable if you have already took Assembly Language

Page Top