KRoC/Linux 1.6

[ about | download | links ]

latest is 1.6.0

I've not been very good at keeping this page up-to-date (like most of my website, it isn't a high-priority task). KRoC is still very much under active development/contribution, but its web-presence has moved around a bit. I've tidied up this page somewhat so it just points at other places that contain more relevant and up-to-date information! I'll continue to put tarball releases here as and when however, as these are more convenient for some. The old page, with various downloads and patches, is here.

About KRoC/Linux

KRoC, the Kent Retargettable occam-pi Compiler, is a collection of programs/libraries which facilitates the execution of occam-pi programs on various platforms. The version on this page is primarily for i386-based (x86) systems running Linux (though it should build successfully on FreeBSD and on Windows using cygwin). The KRoC distribution now includes the Transterpreter, that can be built with appropriate command-line flags, and will allow you to run occam-pi programs (interpreted) on a wide range of platforms.

The main components of KRoC are the occam-pi compiler (occ21), derived from Inmos's original occam compiler sources; the native-code translator (tranx86) to generate Intel i386 code from the compiler's Extended Transputer Code (ETC); and the run time-system (CCSP) that schedules occam-pi process on multicore/multiprocessor x86 platforms. As well as these are various libraries, example programs, fun animations, etc. (including sound and graphics).

If you're looking for a list of extensions to occam, etc., check the occ21-extensions.html file.


Here are the various tarballs:

KRoC is in the process of migrating from subversion (on csprojects) to Git (on Github). The subversion trunk is unofficially deemed to have received its last commit and we recommend users start using the Git version. Git offers a more suitable set of features than subversion for projects like KRoC, and is certainly friendlier towards local changes. In the interim it is plausable that we will back-port and cross-port changes made in either repository to each other, where practical. The above tarball should have enough Git configuration/information to be able to "git pull" to collect updates.


Here are the various links to things that are maintained more frequently than this page:

Last modified: 2013-04-28 11:37:14.000000000 +0100 by Fred Barnes.