Week #3
Jan. 26, 28, 30
Scanning process, regular expressions, examples of use in
defining symbols. Finite State Automata, deterministic and
non-deterministic, conversions from NFA to DFA. Scanner implementation.
Information about Turing machines
computation theory and Turing machines
Turing's scrapbook
Week #4
Feb. 2, 4, 6th
Use of javacc to generate a scanner
You can
download javacc for use on your own machine or
use the tool on one of the CS machines.
Week #6
Feb. 16, 18, 20th
Exam #1 ,
Wednesday, Feb. 18th.
More on recursive descent parsing
Begin LL(1) parsing techniques,
and explain comparable to recursive descent parsers.
Week #7
Feb. 23, 25, 27th
Top down parsing techniques
Extended notations, syntax diagrams
LL(1) parsing, First and Follow Sets
Week #9
March 9, 11, 13th
Review the grammar for simpleJava, work on creating a javacc file for
a simple grammar (use tiny as an example)
March 16-20th
Spring Break --- No Classes
Week #10
March 23, 25, 27
Exam #2
Wednesday, March 25th
Bottom Up parsing techniques and LR(1) parsing.
Yacc and building a bottom up parser.
Begin Chp. 5 Bottom up parsing techniques
Week #11
March 30, April 1, April 3
Creating an Abstract Syntax Tree, visiting the tree, examining
each statement and expression - visitor pattern and singleton pattern.
Week #12
April 6, 8, 10
No classes on Friday, April 10th, Easter Holiday
More on bottom up parsing, use with simpleJava language, more on
Yacc. Semantic analysis - attributes and attribute grammars
algorithms for attribute computation and the symbol table
data types and type checking, semantic analyzer for TINY
Begin Yacc and LALR(1) Parsing
Week #13
April 13, 15, 17
No day classes on Monday, April 13th, Easter Holiday
More on semantic analysis. Work on explanations
of FunctionEnvironment, VariableEnvironment, TypeEnvironment
Explanation of visiting nodes and performing semantic analysis
Week #14
April 20, 22, 24
LR(1) parsing algorithm, examples
Begin Semantic Analysis and how it applies
to visiting an AST..
no class on Friday, April 24th
work on assignment #6
Week #15
April 27, 29, May 1
Abstract Assembly Language - generating
code from an abstract assembly tree
review for
final exam