This repository contains an implementation of the RISE language and its Shine compiler (https://rise-lang.org/).
The source code for the compiler is organised into sub-packages of the shine
package.
-
DPIA
contains the implementation of Data Parallel Idealised Algol. TheCompilation
sub-package contains the implementation to rewrite a high-level functional program into an imperative representation. Backend specific code generators for C, OpenMP and OpenCL are in their own packages. A paper describing DPIA is available at (https://arxiv.org/abs/1710.08332). -
C
contains the C backend printing an imperative DPIA representation into C code. -
OpenMP
contains the OpenMP backend printing an imperative DPIA representation into OpenMP code. The C backend is used to print most code. This package also defines extensions in form of additional patterns added to the RISE language andDPIA
. -
OpenCL
contains the OpenCL backend printing an imperative DPIA representation into OpenCL code. This package also defines extensions in form of additional patterns added to the RISE language andDPIA
.
Please have a look at: https://rise-lang.org/doc/