Intermediate Code Generation