CS 480 Schedule
Date
|
Topic
|
Notes
|
Assignments
|
|||||||
Jan 31 | 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 4) Make Example 1 Make Example 2 |
|||||||
Feb 2 | Linux, Eclipse, GCC, make, SVN | Script | simple.c makefile testSimple.sh simple2.out |
|||||||
Feb 4 | Symbol Table Projects, Coding Standards |
Dynamic
Memory& Eclipse Debugger & Hash tables |
Symbol Table (DUE
Feb 16) pcc11defines.h Coding Standards Symbol Table Tests The following file contains 3 test cases with output. |
|||||||
Feb 7 |
Ch 1 Introduction to Compiling (Tool chain) | PDF #! A case against syntax highlighting |
||||||||
Feb 9 |
Ch 2 One pass compiler / Basic Parsing | |||||||||
Feb 11 |
Ch 2 Symbol Tables |
Valgrind Memcheck Help | ||||||||
Feb 14 |
Ch 3 Lexical Analysis | |||||||||
Feb 16 | Lexical Analyzer | Lexical Analyzer
(DUE Feb 28) Lex Tests The following file contains 3 test cases with output. Lex Test Cases |
||||||||
Feb 18 | Virtual
Machine |
|||||||||
Feb 21 | Ch 4 | CYK | ||||||||
Feb 23 |
gcc documentation | |||||||||
Feb 25 |
EXAM ONE |
|||||||||
Feb 28 | Ch 4 Top Down Parsing |
PDF |
Top Down Parser
(DUE Mar 9)
TD Tests |
|||||||
Mar 2 | Error Handling Papers One Two | |||||||||
Mar 4 | Ch 4 Bottom Up Parsing | PDF Handout Only available from campus |
Extra (Free from on campus!) Compilers Book (Ch 5 (pdf page 458) deals with Operator Precedence Grammars) |
|||||||
Mar 7 |
Ch 4 Bottom Up Parsing | |||||||||
Mar 9 | Operator Precedence Table Creation | BU Precedence Table Form | Bottom Up Parser (DUE Mar 18) Operator Precedence Table BU Test Cases |
|||||||
Mar 11 |
||||||||||
Mar 14 |
Ch 5 Syntax-Directed Translation | |||||||||
Mar 16 |
||||||||||
Mar 18 |
Semantic Actions 1 | Semantic Actions
#1 (DUE Apr 6) Interpreter Description Interpreter Eclipse Project SA1 Test Cases |
||||||||
Mar 21 | NO CLASS -- SPRING BREAK | |||||||||
Mar 23 | ||||||||||
Mar 25 |
||||||||||
Mar 28 |
More Semantic Actions / Data Handling (Ch 7) | C++
Templates Software Evolution Research Lab Name Mangling Name Mangling 2 Class Heirarchy Eclipse Project Class Heirarchy Java Eclipse Project C++ ABI Elf Description Elf Spec 45 byte executable |
||||||||
Mar 30 | Ch 8 Intermediate Code Generation | |||||||||
Apr 1 |
Ch 8 Intermediate Code Generation
Continued
|
|||||||||
Apr 4 | EXAM TWO | Exam
Topics:
|
||||||||
Apr 6 |
Semantic Actions 2
Data Handling (Ch 7) |
Semantic Actions #2 (DUE Apr 22) SA2 Test Cases |
||||||||
Apr 8 |
Intermediate Code Generation II Simple C-Lite code No pointers or control flow |
|
Semantic Actions #2 Example Semantic Actions #2 Solution |
|||||||
Apr 11 |
Code Generation - Pointers - Arrays - Relational Operators | PDF Solutions PDF Solutions |
||||||||
Apr 13 | Code Generation | Math Example | ||||||||
Apr 15 |
Data Handling (Ch 7) | PDF |
C++11! C++11 Discussion malloc glibc Linux Kernel: brk Thunks |
|||||||
Apr 18 | Control Flow Code Generation - if - else - for | PDF |
||||||||
Apr 20 | Semantic Actions 3 - Control Flow Lab | Reverse Engineering Example |
||||||||
Apr 22 |
Semantic
Actions #3 (DUE May 9, 4:45PM) Type Checking SA3 Test Harness SA3 Test1 FI Test Harness |
|||||||||
Apr 25 | ||||||||||
Apr 27 |
Senior Projects Day NO
CLASS |
|||||||||
Apr 29 | Control Flow Code Generation / Data Handling (Ch 7) | |||||||||
May 2 | Exam Three | |||||||||
May 4 | Ch 9 & 10 Data Flow Analysis & Optimization | Examples |
||||||||
May 6 | Code Optimization / Data Flow Analysis (Ch
10)
Register Machines / Register Allocation / Peephole optimization (Ch 9) Compiler Research / Final Exam Review |
Review |
||||||||
May
9 |
Semantic Actions #3 DEMO IN CLASS | SA3 FI Test Case Map |
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 13 |
Final - 3 PM to 5:30 PM
|
FINAL REVIEW |
||||||||
May 21 | GRADUATION |