Methods, compiler apparatus and a computer program product for compiling
UPC source code are disclosed. UPC-unique constructs are converted into
C-level form. The C-level constructs are inserted into the source code to
form a combined code. The combined code is translated into an
intermediate form, wherein any surviving UPC-unique components are
discarded. All UPC-unique data or statements are converted to a form that
can be handled by general compiler architectures, yet retain UPC
properties. The resultant intermediate form is converted to compiled
machine code. The generation of C-level constructs occurs at a compiler
front end module, avoiding difficulties in intermediate code handling.