Code Generation Phase