CS 480 Schedule
Date
|
Topic
|
Notes
|
Assignments
|
||||||||
Jan 28 | Syllabus, Class Overview, Compiler Project Overview, Project ZERO Overview | Current SVN
Notes Intro C Coding Style Template for Eclipse CS Lab FAQ |
Assignment ZERO (DUE
Feb 1) Make Example 1 Make Example 2 |
||||||||
Jan 30 |
Linux, Eclipse, GCC, make, SVN | Script | simple.c makefile testSimple.sh simple2.out |
||||||||
Feb 1 | Symbol Table Projects, Coding Standards |
Dynamic
Memory& Eclipse Debugger & Hash tables |
Symbol Table
(DUE Feb 13) pcc13defines.h Coding Standards Symbol Table Tests |
||||||||
Feb 4 |
Ch 1 Introduction to Compiling (Tool chain) | PDF #! A case against syntax highlighting gcc options |
|||||||||
Feb 6 |
Ch 2 One pass compiler / Basic Parsing | ||||||||||
Feb 8 |
Ch 2 Symbol Tables |
Valgrind Memcheck Help | |||||||||
Feb 11 |
Ch 3 Lexical Analysis | ||||||||||
Feb 13 | Lexical Analyzer | Lexical Analyzer
(DUE Feb 25) Lex Test Cases |
|||||||||
Feb 15 | Virtual
Machine |
GCC
Preprocessor options |
|||||||||
Feb 18 | Ch 4 | CYK | |||||||||
Feb 20 |
gcc documentation | ||||||||||
Feb 22 |
EXAM
ONE |
||||||||||
Feb 25 |
Ch 4 Top Down Parsing |
PDF |
Top Down Parser
(DUE Mar 6)
GNU Option Style |
||||||||
Feb 27 |
Error Handling Papers One Two | ||||||||||
Mar 1 |
Ch 4 Bottom Up Parsing | PDF Handout Only available from campus, Principles of Compiler Design, Aho, Ullman |
Extra (Free from on campus!) Compilers Book (pdf page 458 and 752) deals with Operator Precedence Grammars) Aho Ullman |
||||||||
Mar 4 |
Ch 4 Bottom Up Parsing | ||||||||||
Mar 6 |
Operator Precedence Table Creation Meet in the CS Lab |
BU Precedence Table Form | Bottom Up Parser (DUE Mar 15) Operator Precedence Table BU Test Cases |
||||||||
Mar 8 |
BU Assignment Discussion Testing Discussion |
Build a Large Test Case - see Moodle | |||||||||
Mar 11 |
Ch 5 Syntax-Directed Translation | ||||||||||
Mar 13 |
|||||||||||
Mar 15 |
Semantic Actions 1 | Semantic Actions
#1 (DUE Apr 3) Interpreter Description Interpreter Eclipse Project SA1 Test Cases |
|||||||||
Mar 18 |
More Semantic Actions / Data Handling (Ch 7) | C++
Templates Software Evolution Research Lab Name Mangling Name Mangling 2 Class Hierarchy Eclipse Project Class Hierarchy Java Eclipse Project C++ ABI Elf Description Elf Spec 45 byte executable Linux Standard Base C++ |
|||||||||
Mar
20 |
Exam
TWO |
|
|||||||||
Mar
22 |
Ch 8 Intermediate Code Generation | ||||||||||
Mar
25 |
SPRING
BRREAK NO CLASS |
||||||||||
Mar
27 |
|||||||||||
Mar
29 |
|||||||||||
Apr 1 | Ch 8 Intermediate Code Generation Continued | ||||||||||
Apr 3 |
Semantic Actions 2
Data Handling (Ch 7) |
Semantic Actions #2 (DUE Apr 19) SA2 Test Cases |
|||||||||
Apr 5 |
Intermediate Code Generation II Simple C-Lite code No pointers or control flow |
|
Semantic Actions #2 Example Semantic Actions #2 Solution |
||||||||
Apr 8 |
Code Generation - Pointers - Arrays - Relational Operators | PDF Solutions PDF Solutions |
|||||||||
Apr 10 | Code Generation | Math Example | |||||||||
Apr 12 |
Data Handling (Ch 7) | PDF |
C++11! C++11 Discussion malloc glibc Linux Kernel: brk Thunks |
||||||||
Apr 15 | Control Flow Code Generation - if - else - for | PDF |
|||||||||
Apr 17 |
Semantic Actions 3 - Control Flow Lab | Reverse Engineering Example |
|||||||||
Apr 19 |
Semantic
Actions #3 (DUE May 6, 4:45PM) Type Checking SA3 Test Harness SA3 Test1 FI Test Harness
|
||||||||||
Apr 22 | Exam
Three |
||||||||||
Apr 24 |
Senior Projects Day NO
CLASS |
||||||||||
Apr 26 | Data Handling (Ch 7) |
Java
Memory Mang Docs (Primary Source) JDK 7 Garbage First GC (Free from campus) Java GC Tuning Java GC Presentation Java Nice Description |
|||||||||
Apr 29 | |
||||||||||
May 1 |
Ch 9 & 10 Data Flow Analysis & Optimization | Examples |
|||||||||
May 3 |
Code Optimization / Data Flow Analysis
(Ch 10)
Register Machines / Register Allocation / Peephole optimization (Ch 9) Compiler Research / Final Exam Review |
Review |
|||||||||
May
6 |
Semantic Actions #3 DEMO IN CLASS | SA3 FI Test Case Map Interpreter |
SA3 Test1 SA3 Test2 SA3 Test3 SA3 Test4 SA3 Test5 SA3 Test6 SA3 Test7 SA3 Test8 FI Test1 FI Test2 FI Test3 FI Test4 FI Test5 FI Test6 FI Test7 FI Test8 |
||||||||
May
10 |
Final - 3 PM to
5:30 PM
|
FINAL
REVIEW |