http://web.cecs.pdx.edu/~harry/compilers/syllabus.html