Designed as the definitive reference on the compilation of the Esterel synchronous reactive real-time language, Compiling Esterel covers all aspects of the language and includes a tutorial, a reference manual, its formal semantics, and detailed technical information about the many techniques used to compile it. Esterel is based on the simple idea of providing a software language that has a synchronous model of time. That is, the execution of the program is divided into discrete instants, and statements are either guaranteed to execute in a single instant, or take multiple instants as requested by the programmer. Suitable for programming safety-critical real-time systems, Esterel and its model of computation have found use in industrial applications such as avionics, integrated circuit design, and other safety-critical environments. While Compiling Esterel does not assume prior knowledge of the Esterel language, readers will appreciate having prior knowledge of programming language semantics and compiler technology, along with some familiarity with synchronous digital hardware design. Researchers as well as advanced developers will find Compiling Esterel essential for understanding Esterel at all levels.