notes for compilers lecture 2389564