Arrp is a functional programming language for digital signal processing. This project provides a compiler and a standard library for Arrp.
For more information on the language Arrp, visit the Arrp website.
Installation packages are available on GitHub.
Debian package:
Depending on your Linux setup, double-clicking may open a graphical installer.
Alternatively, the following command installs the package using
dpkg
:dpkg -i package_name.deb
Mac OS ZIP archive:
- Unzip the folder.
- Add the
bin
dir to thePATH
environment variable. - Add the
include
subfolder to theCPATH
environment variable.
Invoking the compiler with the -h option will print information about its usage and available options:
arrp -h
By default, the Arrp compiler generates a C++ "kernel" - C++ code with a generic interface that makes it easy to integrate into larger C++ projects.
The following command writes the kernel code into a C++ header file program.h
:
arrp program.arrp --output program
See the documentation for a detailed explanation of the C++ kernel code.
The Arrp compiler can also generate additional C++ code wrapping the kernel into a variety of different interfaces:
- Standard streams
- Jack client
- Pure Data external
NOTE: The project requires a compiler with a good support for C++11.
This project uses git submodules; make sure to get/update all of them:
git submodule init git submodule update
Optionally, you may want to re-generate lexer and parser. This requires the flex lexer generator and the bison parser generator.
The isl library must be built manually, because it is not integrated with the CMake build system of this project.
Execute the following commands, starting in the root of this project:
cd extra/isl mkdir build ./autogen.sh ./configure --prefix=$(pwd)/build make install
This will build isl in the directory extra/isl/build
.
After all the prerequisits are in place as described above, you can build the Arrp compiler using the CMake build system.
On Linux and Mac OS X, execute the following commands, starting in the root of this project:
mkdir build cd build cmake .. make install
You can control where the compiler is installed using the CMake variable CMAKE_INSTALL_PREFIX.
After installation, the Arrp compiler executable is located at CMAKE_INSTALL_PREFIX/bin/arrp
.
- Build and install the compiler as described in the previous section.
- Run tests using
ctest
in the build directory.
The CMake build system provides the following options:
- PARSER_REGENERATE - Regenerate lexer and parser using flex and bison.
- PARSER_GENERATOR_OUTPUT_DESCRIPTION - When generating parser, output parser description.