In this paper, we consider the problem of going from high-level specifications of complex control tasks for cyber-physical systems to their actual implementation and execution on physical devices. This transition between abstraction levels inevitably results in a specification-to-execution gap, and we discuss two sources for this gap; namely model based and constraint based. For both of these two types of sources, we show how hybrid control techniques provide the tools needed to compile high-level control programs in such a way that the specification-to-execution gap is removed. The solutions involve introducing new control modes into nominal strings of control modes as well as adjusting the control modes themselves.