Sect.
001
|
Lecture
|
M W
|
2:20
– 3:45
|
COE
141
|
Tentative Schedule
|
Date |
Lecture
Topic |
Homework
& Projects |
Week
1 |
Jan.
15 |
||
Jan.
17 |
Inclement
weather: University closed |
||
Week 2 |
Jan. 22 |
Introduction:
Go over syllabus,
how to access projects, COOL programming language |
|
Jan. 24 |
Introduction: COOL programming language
(cont.); go over project1; Introduction to
complier (Lexical Analysis, Syntax Analysis, Semantic Analysis, Intermediate
Code Generation, Target Code Generation) |
Project1 assigned (Due: Feb. 5) |
|
Week
3 |
Jan.
29 |
Lexical Analysis: example
of Scanner from scratch, Lexeme and
Tokens, regular expression (choice, concatenation, closure/repetition), RE Extensions |
|
Jan.
31 |
Lexical
Analysis: RE Extensions, Exercise on regular
expressions |
Website to check your regular expression |
|
Week 4 |
Feb. 5 |
Project2 assigned (Due: Feb. 16) |
|
Feb. 7 |
Flex: Start Condition example |
||
Week
5 |
Feb.
12 |
Lexical
Analysis: NFA, DFA, Thompson’s construction
(RE to NFA), ε-closure function, |
|
Feb.
14 |
Introduction to Parser: Move
function, NFA to DFA (Example), a
review of 1st Exam |
||
Week 6 |
Feb. 19 |
Project3 assigned (Due: Mar. 11) |
|
Feb. 21 |
First Exam (Introduction, Lexical Analysis, Flex, COOL) |
||
Week
7 |
Feb.
26 |
Bison: Go
over exam. Infix example(.ll file, .yy file), Location example(.ll file, .yy file) |
|
Feb.
28 |
Introduction
to Parser: leftmost/rightmost derivation, parse tree, ambiguous CFG,
Recursive descent parsing (example) |
||
Week 8 |
Mar. 4 |
Spring Break - No Class |
|
Mar. 6 |
Spring Break - No Class |
||
Week
9 |
Mar.
11 |
Top-Down Parsing: Go over project4, LL(1) parsing, LL(1) Parsing
table |
Project4
assigned (Due: Mar. 20) |
Mar.
13 |
Top-Down Parsing: FIRST, FOLLOW, construct parsing table using FIRST and FOLLOW |
||
Week 10 |
Mar. 18 |
Bottom-Up Parsing: Exercise on
LL(1) parsing, Review
for 2nd Exam |
|
Mar. 20 |
Bottom-Up Parsing: LR(0) parsing (LR(0)
items, CLOSURE functions) |
Project5 assigned (Due: Apr. 3) |
|
Week
11 |
Mar.
25 |
Bottom-Up
Parsing: GOTO functions, LR(0) automaton, LR(0) parsing table, exercise on LR(0) parsing table and LR(0) parsing |
|
Mar.
27 |
Second Exam (CFG, Top-Down Parsing, Bison, project 3 & 4) |
||
Week 12 |
Apr. 1 |
||
Apr. 3 |
Project6 available |
||
Week
13 |
Apr.
8 |
Bottom-Up
Parsing: |
|
Apr.
10 |
Bottom-Up
Parsing: |
||
Week 14 |
Apr. 15 |
Bottom-Up Parsing: review of 3rd exam, exercise on LR parsing |
|
Apr. 17 |
Optional Project 7 |
||
Week
15 |
Apr.
22 |
Runtime Environment: |
|
Apr.
24 |
Third Exam (Symbol table, type checking, bottom-up parsing,
project6) |
|
|
Week 16 |
No Final
Exam |
|
Class Resources
Please
take your time to go through the syllabus carefully and with patience. |
|
All
class examples, assignments, and source code are available in this directory.
|