Schedule

CIS 706: Translator Design I, Fall 2018


Links


Week. Lab: Date Lectures Reading Lab Remarks
  1. T: Aug 21
  • Dragon Ch. 1 - 2.3 & Ch. 3
  • IntelliJ documentations & tutorials
  • Git documentations & tutorials
  • JUnit documentation & tutorials
 
  1. T: Aug 28
  • Top-down Parsers
  • ANTLR4
  • Dragon Ch. 2.4 - 2.9 & Ch. 4
  • ANTLR4 Book/Documentation
  • Quiz 1: Scanners & Parsers
  1. T: Sep 4
  • Abstract Syntax Tree
  • Eclipse JDT
  • Quiz 2: Top-down Parsers
  • Solo Project 1: Scanner & Parser (due Sep 17, 11:59pm, US Central)
  1. T: Sep 11
  • Symbol Table
  • Type Checking
  • Bottom-up Parsers
  • Dragon Ch. 2.7 & Ch. 6.1 - 6.5
 
  1. T: Sep 18
  • Virtual Machine
  • Code Generation: Eclipse JDT to Java bytecode using ASM
  • Dragon Ch. 6.6 - 6.9 & Ch. 8.1-8.6
  • Quiz 3: AST, Symbol Table, and Type Checking
  • Solo Project 2: Abstract Syntax Tree (due Oct 1, 11:59, US Central)
  1. T: Sep 25
  • Bytecode Optimization
  • Quiz 4: Virtual Machine & Bytecode Generation
  • Instructor Travel
  1. T: Oct 2
   
  • Solo Project 3: Type Checking (due Oct 15, 11:59pm, US Central)
  • Final Project (due Dec 12, 11:59pm, US Central)
  1. No Lab
  • Static Analysis – Overview
  • Static Analysis – Control Flow Graph (CFG)
  • Static Analysis – Reaching Definition
  • Nielson-Nielson-Hankin Ch. 1
  • Dragon Ch. 9
  • Quiz 5: Bytecode Optimization (take home)
 
  1. T: Oct 16
  • Static Analysis – Classic Problems
  • Static Analysis – Monotone Dataflow Framework
  • Nielson-Nielson-Hankin Ch. 2
  • Dragon Ch. 9
  • Quiz 6: CFG & Reaching Definition Analysis
  1. T: Oct 23
   
  • Quiz 7: Static Analysis – Classic Problems & Monotone Dataflow Framework
 
  1. T: Oct 30
     
  • Quiz 5-7 Discussions
  • Instructor Travel
  1. T: Nov 6
    Exam: 1:05-2:55pm  
  1. No Lab
     
  • Final Project
  1. Thanksgiving Break
       
  1. No Lab
     
  • Final Project
  • Instructor Travel (until Nov 28)
  1. Final Project Presentations
       
  1. W: Dec 12
     
  • Final Project Due