Compiler Design and Construction Lessons