Started from January 2010. A lot of stuff is covered in here, such as compiler design, formal language, visitor pattern, etc. However, most of them are quite basic; this course didn't go into too many details, for that would take half a year or more.
The visitor pattern implementation could be improved by decoupling the navigation logic from element-wise operation logic.
"project" folder holds one complete Java program, that compiles minijava successfully.
I am too lazy to clean all other folders, for cleaning them is not a trivial task.