db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%T Another Side of SPoC: occam\[rs]s ALTer Ego Dissected with PC\-lint
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%A Øyvind Teig
db_connect: Could not connect to paper db at "wotug@dragon.kent.ac.uk"
%E Barry M. Cook
%B Proceedings of WoTUG\-22: Architectures, Languages and Techniques for Concurrent Systems
%X 26500 lines of Standard C (ANSI C) generated from occam
sources by the Southampton Portable occam Compiler (SPoC)
has been analysed by the static analysis tool PC\-lint. The
target machine is a TMS320C32 DSP where all (the supported)
C\\[rs]s primitive data types are mapped to 32 bit read and
writes. This architecture stretches "ANSI" C quite
a bit, but the "portable" occam compiler promised
to handle it. Even if we had experienced no problems with
the generated code and it compiled with all error handling
enabled, we had to insert some 15\-20 different global
PC\-lint filters plus local filters via in\-line C in the
occam sources. This was in addition to the base\-level
filters we also used for hand\-written C. It kept PC\-lint
quiet, for individual C files as well as "global wrap
up". By discussing each individual filter we arrive at
the conclusion that none hid errors in the generated C. The
analysis revealed a few points where the occam language
definition could have been made stricter. We would like to
PC\-lint the generated sources with fewer messages disabled
\- changes to SPoC are therefore suggested. Altogether SPoC
seems to have passed this test quite well. Even if we have
no expertise to modify the (open) SPoC sources, this report
could be considered as contributing to a prospective
"Bazaar" development model \- to bring forward an
even more robust compiler for a portable and perhaps
prospering occam language.