|
[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,
Lexer pdf,
RE tools
|
lab1.htm
Regex Tester, and
Assignment 1 |
| 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 |
|
Context Free Grammar, BNF, ambiguity in
CFG |
PPT
PDF
|
Work on assignment 2 |
Sample exams and solutions (midterm 2003 A and
B) |
| 7 |
Parser generator: JavaCup |
PPT
pdf
|
Finish assignment 2 |
JavaCup Manual |
| 8, 9 |
Top down parsing, recursive descent, left recursion, left factoring. predictive parsing, LL(1) |
PPT
pdf
|
-
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,11,12 |
Bottom up parsing,
LR(0), SLR, LR(1), LALR
|
PPT,
PDF,
review(ppt).
|
Finish Assignment 3, A3 PPT slides .
Work on Assignment 4
|
Final Exam
2004 Solution |
|