| CMSC 430: Theory of Language Translation |
| Basic Information |
| Name | Office | Office Hours | |
| Marvin Zelkowitz | AVW 4121 | Mon 10am-11 & Wed 1pm-2pm Note change | mvz@cs.umd.edu |
| In general whenever my door is open - Usually in the mornings. It is best to email first to make sure I am around. |
| Course News |
| Lectures |
| Date | Lecture Topic | Slides | Textbook (*-Not yet updated to new text) |
| 1/25-30 | Introduction & Overview; Review of CMSC 330 | M01 | Ch 1 (1-38) Ch 2 (39-107) |
| 2/1-6 | Scanner Construction | M04, LEX example | Ch 3 (109-189) |
| 2/8-13 | Top-down Parsers | M08 | Ch 4.1-4.4 (191-231) |
| 2/15-20 | Bottom-up Parsers | M09 (new-2/21/07) | |
| 2/22-27 | LR Parsers | M10, LR(1) example, LALR example | Ch 4.5-4.9 (233-300) |
| 3/1 | Intermediate forms |
M11
quad example (Note: This is for a different language, but does show how quads are produced.) | Ch 6.1-6.2 (357-370) |
| 3/6, 3/8 | Context Sensitive Analysis | M12 | Ch 5.1-5.4.3 (303-328) 6.5 (386-398) |
| 3/13 | Symbol tables | M13 | 85-91 |
| 3/15 | Arrays, records | M14 | Ch. 6.4 (380-386) |
| 3/20, 3/22 | Spring Break | ||
| 3/27 | Runtime environments and scope | M15 (Revised 4/5/07) | Ch 7 (427-502) |
| 3/29 | Mid term | ||
| 4/3, 4/5, 4/10 | Runtime environments | Java Bytecodes | |
| 4/12, 4/17 | Code Generation (basic exprs, control flow) |
M19
Code Gen notes | Ch. 8.1-8.3 (505-525) 8.6-8.7 (542-553) |
| 4/19 | Code shape |
M21
M20 | |
| 4/21 | Optimization Overview | M25 | 360-362, Ch 8.4-8.5 (525-542) |
| 4/26 | Data-flow Analysis | M22 | Ch 9.1-9.2 (583-617) |
| 5/1 | Instruction scheduling | Ch 8.9 (557-567) | |
| 5/3 | Register allocation |
M23
Lec20 | Ch 8.8 (553-556) |
| 5/8 | RISC architectures | M24 | |
| 5/10 | Final Review | ||
| Saturday 5/12 | Final | 8-10am | CSI 1121 |
| Old Exams |
| Practice problems using grammars |
| Projects |
| Class Resources |
The submit server will accept multiple submissions up to the submission deadline, overwriting previous submissions. Feel free to submit your project as many time as you desire before the deadline.