KRoC

From Wikipedia, the free encyclopedia

KRoC, the Kent Retargetable occam Compiler, is an occam implementation that is based on the INMOS occam 2.1 compiler as a front-end and a retargetable back-end to produce machine code for various microprocessors. Ports of the compiler have been made for PowerPC, SPARC, x86 and DEC Alpha processors.

Along with the translation to different processors, the KRoC team have modified the compiler significantly, creating a compiler for what has become known as occam v2.5, and now as occam-pi.

Originally the translation from the occam compiler front-end was by interpretation of the ASCII assembly language file. This worked reasonably well but was slow and occasionally inconvenient.

The current KRoC compiler target is an Extended Transputer Code (ETC), which is then translated into the target machine language. ETC code can be viewed as a kind of Java byte code; it is a compact description of the compiler's intent on a Virtual Machine that is similar to the transputer.

ETC-code variants of the KRoC compiler exist for Intel x86 on Linux, x86 on Windows using Cygwin, and a SPARC port is in the works.

[edit] See also