Compiler Design Notes