• DocumentCode
    2954031
  • Title

    Compiling Esterel into sequential code

  • Author

    Edwards, Stephen A.

  • Author_Institution
    Synopsys Inc., Mountain View, CA, USA
  • fYear
    1999
  • fDate
    1999
  • Firstpage
    147
  • Lastpage
    151
  • 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;
  • fLanguage
    English
  • Publisher
    ieee
  • Conference_Titel
    Hardware/Software Codesign, 1999. (CODES '99) Proceedings of the Seventh International Workshop on
  • Conference_Location
    Rome
  • ISSN
    1092-6100
  • Print_ISBN
    1-58113-132-1
  • Type

    conf

  • DOI
    10.1109/HSC.1999.777410
  • Filename
    777410