A compiler for FiM++ written in rust.
The language mostly follows the 1.0 reference. You can find notes about differing implementation details in docs/notes.md. You can find several sample programs in the examples dir.
Building sparkle requires the rust toolchain. The easiest way to obtain this is with rustup.
git clone https://github.com/evant/sparkle.git
cd sparkle
cargo build --release
./target/release/sparkle help
./target/release/sparkle gallop examples/hello_equestria.fpp
You may execute a report directly with sparkle gallop [report]
or compile to an executable with
sparkle send [report]
.
sparkle send examples/hello_equestria.fpp
./hello_equestria
You will need to install the Visual Studio Build Tools
sparkle send examples/hello_equestria.fpp
hello_equestria
You may cross-compile with spakle send [report] to [linux|macos|windows]
. This will generate an object file for the
given platform. You will still need to invoke that platform's linker to generate the final executable, but you won't
need sparkle compiled for that platform.
cc hello_equestria.o -o hello_equestria
"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
cl hello_equestria.obj ucrt.lib msvcrt.lib