Description
The lectures are about basic compiling techniques presented in the red dragon book.
In the laboratory of this course we will implement a compiler for an object-oriented language called MiniJava.
The compiler will be built using the JavaCC parser generator. The semantical analysis is based
on the Visitor design pattern. Finally, the parser will generate Java byte code following the Java
virtual machine specification.
News
- [2012.01.08 11:49am] on 12.01.2012 and 19.01.2012 at 08:00am in room B418b we will have the final exam
- [2012.01.08 11:48am] on 09.01.2012 and 16.01.2012 at 06:00pm in room B418b we will have the exam preparations
- [2011.12.20 10:29am] during the exam preparation meetings you can present your remaining lab assignments
- [2011.12.20 10:28am] exam and exam preparation dates are all set
Lectures
Timetable: Tuesday from 10:00am to 12:00am on October, November, December 2011 in room B418b
0300. Lexical Analysis Overview
pptx
ppt
pdf
0301. The Role of the Lexical Analyzer
pptx
ppt
pdf
0306. Finite Automata
pptx
ppt
pdf
0307. From Regular Expression to Automata
pptx
ppt
pdf
0308. Design of a Lexical Analyzer Generator
pptx
ppt
pdf
0309. Optimization of a DFA-based Pattern Matchers
pptx
ppt
pdf
0310. Summary
pptx
ppt
pdf
0400. Syntax Analysis Overview
pptx
ppt
pdf
0401. Introdution
pptx
ppt
pdf
0402. Context-Free Grammars
pptx
ppt
pdf
0403. Writing a Grammar
pptx
ppt
pdf
0404. Top-Down Parsing
pptx
ppt
pdf
0405. Bottom-Up Parsing
pptx
ppt
pdf
0406. Introduction to LR Parsing
pptx
ppt
pdf
Exams
- preparation for the first exam on 09.01.2012 at 06:00pm in room B418b
- first exam on 12.01.2012 at 08:00am in room B418b
- preparation for the second exam on 16.01.2012 at 06:00pm in room B418b
- second exam on 19.01.2012 at 08:00am in room B418b
Laboratory Assignments
Timetable: Mondays at 08:00am-10:00am on October, November, December 2011 in room B418b
1. Automatic Generation of Lexical and Syntactical Analyzer
[ro]
2. The Visitor Design Pattern
[ro]
3. Automatic Generation of Abstract Syntax Tree and Visitor Design Pattern
[ro]
4. Domain Analysis
[ro]
5. Type Checking
[ro]
6. The "class" Binary File Format
[ro]
Laboratory Activity
Bibliography
[1] Andrew Appel - Modern Compiler Implementation in Java, 2nd edition, 2002.
[2] Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman and Monica S. Lam -
Compilers: Principles, Techniques, and Tools, Second Edition, 2006.
[3] Erich Gamma, Richard Helm, Ralph Johnson, John M. Vlissides -
Design Patterns: Elements of Reusable Object-Oriented Software, 1995.
[4] Oracle Corporation - JavaCC Parser Generator, http://java.net/projects/javacc/downloads
[5] Tim Lindholm, Frank Yellin - The Java Virtual Machine Specification, Second Edition.
|