[ News | IPCA | Mirrors | Add | Search | Mail | Help | WoTUG ]
Abstract: The occam programming language provides a natural and concise syntax for specifying compositions of processes. occam has many advantages: it has primitive constructs supporting concurrency, it lends itself to distributed execution, it has a strong formal basis and it supports secure programming. occam is an excellent language for embedded systems and high-performance computing. To date however, the only mature occam compilers are for the transputer processor and this has restricted the exploitation of the language. This paper describes a compilation system which allows occam programs to be supported on industry-standard platforms, as typified by the Unix work-station. Compilation is achieved by translating occam source into C and then using native C compilers to generate the target code. This approach allows a portable occam compilation system to be produced and allows back-end optimization to be performed by the C compiler in a manner optimized to the target processor. The implementation of an occam-to-C translator is not a trivial task since occam supports many features that have no direct equivalent in C. These features include concurrency, nested procedure definitions and a static variable chain.
Authors: Mark Debbage; Mark Hill; Sean Wykes and Denis Nicole.