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.
DPIAcontains the implementation of Data Parallel Idealised Algol. TheCompilationsub-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).Ccontains the C backend printing an imperative DPIA representation into C code.OpenMPcontains 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.OpenCLcontains 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/