Title :
Compiling Esterel into sequential code
Author :
Edwards, Stephen A.
Author_Institution :
Synopsys Inc., Mountain View, CA, USA
Abstract :
This paper presents a novel compiler for Esterel, a concurrent synchronous imperative language. It generates fast, small object code by compiling away concurrency, producing a single C function requiring no operating system support for threads. It translates an Esterel program into an acyclic concurrent control-flow graph from which code is synthesized that runs instructions in an order respecting inter-thread communication. Exceptions and preemption constructs become conditional branches. Variables save control state; conditional branches restore it. Although designed for Esterel, this approach could be applied to compiling other synchronous concurrent languages
Keywords :
formal specification; program compilers; specification languages; Esterel compiling; acyclic concurrent control-flow graph; concurrent synchronous imperative language; conditional branches; inter-thread communication; object code; sequential code; single C function; synchronous concurrent languages; Circuit testing; Combinational circuits; Computer hacking; Concurrent computing; Sleep; Tin; Tree graphs; Wires; Yarn;
Conference_Titel :
Hardware/Software Codesign, 1999. (CODES '99) Proceedings of the Seventh International Workshop on
Conference_Location :
Rome
Print_ISBN :
1-58113-132-1
DOI :
10.1109/HSC.1999.777410