Schedule

CIS 706/801: Translator Design I & II, Fall 2022


  • Canvas

    • Lecture Slides

    • Lecture Videos


Week. Lab: Date

Lectures

Reading

Lab

Remarks

  1. T: Aug 23

  • Scanners

  • Parsers

  • Dragon Ch. 1 - 2.3 & Ch. 3

  • IntelliJ documentations & tutorials

  • Git documentations & tutorials

  • JUnit documentation & tutorials

Course Overview

  1. T: Aug 30

  • Top-down Parsers

  • ANTLR4

  • Dragon Ch. 2.4 - 2.9 & Ch. 4

  • ANTLR4 Book/Documentation

Project M1: Scanner & Parser (due Sep 12, 11:59pm, US Central)

  1. T: Sep 6

  • Abstract Syntax Tree

  • Eclipse JDT

Exam 1: Scanners, Parsers & Top-Down Parsers

  1. T: Sep 13

  • Symbol Table

  • Type Checking

  • Bottom-up Parsers

  • Dragon Ch. 2.7 & Ch. 6.1 - 6.5

Project M2: Abstract Syntax Tree (due Sep 26, 11:59, US Central)

Exam 1 Discussion

  • Demo: JDT AstView Plugin

  1. T: Sep 20

  • Virtual Machine

  • Code Generation: Eclipse JDT to Java bytecode using ASM

  • Dragon Ch. 6.6 - 6.9 & Ch. 8.1-8.6

Exam 2: AST, Symbol Table, and Type Checking

  1. T: Sep 27

  • Bytecode Optimization

Project M3: Type Checking (due Oct 10, 11:59pm, US Central)

Exam 2 Discussion

  1. T: Oct 4

801 Final Project (due Dec 16, 11:59pm, US Central)

  1. T: Oct 11

  • Static Analysis – Overview

  • Static Analysis – Control Flow Graph (CFG)

  • Static Analysis – Reaching Definition

  • Nielson-Nielson-Hankin Ch. 1

  • Dragon Ch. 9

Project M4: Bytecode Generation (due Oct 24, 11:59pm, US Central)

  • Demo: ASM Bytecode Viewer Plugin

  1. T: Oct 18

  • Static Analysis – Classic Problems

  • Static Analysis – Monotone Dataflow Framework

  • Nielson-Nielson-Hankin Ch. 2

  • Dragon Ch. 9

Exam 3: Virtual Machine, Bytecode Generation, and Bytecode Optimization

  1. T: Oct 25

Project M5: Static Analysis (due Nov 7, 11:59pm, US Central)

Exam 3 Discussion

  1. T: Nov 1

Exam 4: Static Analysis – CFG, Reaching Definition, Classic Problems, and Monotone Dataflow Framework

  1. T: Nov 8

Exam 4 Discussion

  1. No Lab

  1. Thanksgiving Break

  1. No Lab

  1. T: Dec 6

801 Final Project Presentation

  1. F: Dec 16

  • 801 Final Project Due