|
[Assignments] [Lecture Slides] [Resources]
[Home] [Lab 1] [Lab 3]
| |

|
Week |
Contents |
Lecture Slides |
Lab slides |
Other materials |
| 1 |
course overview |
PPT
|
Start to work on
Assignment 1 |
Course outline
(doc file) |
| Introduction to compiler and grammar |
PPT
|
| 2 |
Lexical analysis, regular expression, Java Regex |
Lexer PPT,
RE tools
|
lab1.htm
Regex Tester |
| 3 |
Finite automata, DFA, NFA, DFA
simulation, NFA to DFA conversion |
Work on assignment 1 |
| |
| 4 |
Minimize DFA. Regular expression to DFA. |
Finish assignment 1
Lab3.htm
finite automata exercises
PPT (
)
practice DFA
Simulator.
practice JFLAP |
|
5 |
Lexical generator JLex. Other
issues in lexical analysis. |
Lab4.htm
practice JLex.
simple.lex
mylexer2.lex
english.lex
Start to work on
assignment 2 |
JLex Manual |
| Syntax analysis |
| 6 |
Context Free Grammar, BNF, ambiguity in
CFG |
PPT
|
Work on assignment 2 |
Sample exams and solutions (midterm 2003 A and
B) |
| 7 |
Parser generator: JavaCup |
PPT
|
Finish assignment 2 |
JavaCup Manual |
| 8, 9 |
Top
down parsing, recursive descent, left recursion, left factoring.
predictive parsing, LL(1) |
PPT
|
JavaCup installation instruction
Calc example: calc.lex,
calc.cup,
CalcParserUser.java, calc.bat,
calc.input
Calc2 Example: calc2.lex,
calc2.cup, calc2.bat,
calc2.input ,
calc2.xml
Program.java,
Statement.java,
Assignment.java
Expr.java, ProgramProcessor.java Recursive
descent parser
RecursiveDescent.java
Symbol.java
Calc3Scanner.java Calc2Symbol.java
|
| 10 |
Bottom up parsing,
LR(0), SLR
|
PPT
|
Finish Assignment 3 |
|
11 |
LR(1), LALR, practical consideration of parsing. |
Work on Assignment 4 |
| 12 |
Finish Assignment 4 |
Final Exam
2004 |
|