Schedule

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


Links


Week. Lab: Date

Lectures

Reading

Lab

Remarks

  1. T: Aug 18

  • Scanners

  • Parsers

  • Dragon Ch. 1 - 2.3 & Ch. 3

  • IntelliJ documentations & tutorials

  • Git documentations & tutorials

  • JUnit documentation & tutorials

Course Overview

  1. T: Aug 25

  • Top-down Parsers

  • ANTLR4

  • Dragon Ch. 2.4 - 2.9 & Ch. 4

  • ANTLR4 Book/Documentation

Quiz 1: Scanners & Parsers

  • Demo: ANTLR v4 grammar plugin

  1. T: Sep 1

  • Abstract Syntax Tree

  • Eclipse JDT

Quiz 2: Top-down Parsers

  • Solo Project 1: Scanner & Parser (due Sep 14, 11:59pm, US Central)

  1. T: Sep 8

  • Symbol Table

  • Type Checking

  • Bottom-up Parsers

  • Dragon Ch. 2.7 & Ch. 6.1 - 6.5

Quiz 1-2 Discussions

  • Demo: JDT AstView Plugin

  1. T: Sep 15

  • 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 Sep 28, 11:59, US Central)

  1. T: Sep 22

  • Bytecode Optimization

Quiz 4: Virtual Machine & Bytecode Generation

  1. T: Sep 29

Quiz 3-4 Discussions

  • Solo Project 3: Type Checking (due Oct 12, 11:59pm, US Central)

  • Final Project (due Dec 10, 11:59pm, US Central)

  1. T: Oct 6

  • 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

  1. T: Oct 13

  • Static Analysis – Classic Problems

  • Static Analysis – Monotone Dataflow Framework

  • Nielson-Nielson-Hankin Ch. 2

  • Dragon Ch. 9

Quiz 6: CFG & Reaching Definition Analysis

  • Demo: ASM Bytecode Viewer Plugin

  • Solo Project 4: Bytecode Generation (due Oct 26, 11:59pm, US Central)

  1. T: Oct 20

Quiz 7: Static Analysis – Classic Problems & Monotone Dataflow Framework

  1. T: Oct 27

Quiz 5-7 Discussions

  • CIS 801 Solo Project: Static Analysis (due Nov 30, 11:59pm, US Central)

  1. T: Nov 3

Exam: 1:05-2:55pm

  1. No Lab

  • Final Project

  1. No Lab

  • Final Project

  1. Thanksgiving Break

  1. Final Project Presentations

  1. U: Dec 10

  • Final Project Due