The function showCode shows code as either occam or Rain depending on the frontend. This is then used by a formatCode function that acts similar to
printf, which makes it easy to format error messages that use showCode.
These declarations are necessary for recursive functions/procs, so that the (forward) declarations are visible to the implementations.
Later on, the declarations could be moved into header files, which would allow multiple source files to be compiled (generating multiple header files) and linked together using the gcc linker. Alternatively, external C/C++ programs could use code originally written in occam/Rain by including the header files.