Skip to content

Course schedule

Week Day Date Date (Persian) Session Lecture Events
W01 Sunday 1403/06/18 Session 01 Course layout - Introduction
Tuesday 1403/06/20 Session 02 Compiler basics (compiling steps, compilers types, and architectures)
W02 Sunday 1403/06/25 Session 03 Compiler basics (compiling steps, compilers types, and architectures)
Tuesday 1403/06/27 Session 04 Compilation at a glance (A working example)
W03 Sunday 1403/07/01 Session 05 Formal languages and automata backgrounds
Tuesday 1403/07/03 Session 06 Lexical analysis
W04 Sunday 1403/07/08 Session 07 Lexical analysis - FLEX
Tuesday 1403/07/10 Session 08 Syntax analysis
W05 Sunday 1403/07/15 Session 09 Top-down parsing - Recursive decent parsers
Tuesday 1403/07/17 Session 10 Top-down parsing - LL (1) parsers
W06 Sunday 1403/07/22 Session 11 Top-down parsing - LL (*) parsers (ANTLR4 parser generator)
Tuesday 1403/07/24 Session 12 Bottom-up parsing - LR(0) and LR (1)
W07 Sunday 1403/07/29 Session 13 Bottom-up parsing - LALR(1)
Tuesday 1403/08/01 Session 14 Bottom-up parsing - SLR(1)
W08 Sunday 1403/08/06 Session 15 Bottom-up parser generators - YACC and BISON
Tuesday 1403/08/08 Session 16 Bottom-up parsing - CYK
W09 Sunday 1403/08/13 Session 17 Midterm Exam (paper-based)
Tuesday 1403/08/15 Session 18 Program translation and transformation techniques
W10 Sunday 1403/08/20 Session 19 Syntax-directed translation
Tuesday 1403/08/22 Session 20 Model-driven translation
W11 Sunday 1403/08/27 Session 21 Type checking and symbol tables
Tuesday 1403/08/29 Session 22 Type checking and symbol tables - Sci-tool Understand
W12 Sunday 1403/09/04 Session 23 Intermediate code generation -abstract syntax tress (ASTs)
Tuesday 1403/09/06 Session 24 Intermediate code generation - tree addresses code (TACs)
W13 Sunday 1403/09/11 Session 25 Intermediate code optimization -CFGs
Tuesday 1403/09/13 Session 26 Intermediate code optimization - Temporary variables minimization
W14 Sunday 1403/09/18 Session 27 Runtime environments and code generation
Tuesday 1403/09/20 Session 28 Advanced topics (compiler applications in software engineering)
W15 Sunday 1403/09/25 Session 29 Students' in-class presentations
Tuesday 1403/09/27 Session 30 Course conclusion
W16 Sunday 1403/10/02
Tuesday 1403/10/04
W17 Sunday
Tuesday
W18