code gen compiling