Skip to content

Latest commit

 

History

History
57 lines (41 loc) · 1.68 KB

README.md

File metadata and controls

57 lines (41 loc) · 1.68 KB

sparkle

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

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

Usage

You may execute a report directly with sparkle gallop [report] or compile to an executable with sparkle send [report].

Linux/MacOS

sparkle send examples/hello_equestria.fpp
./hello_equestria

Windows

You will need to install the Visual Studio Build Tools

sparkle send examples/hello_equestria.fpp
hello_equestria

Cross Compiling

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.

Linux/MacOS

cc hello_equestria.o -o hello_equestria

Windows

"C:\Program Files (x86)\Microsoft Visual Studio\2019\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
cl hello_equestria.obj ucrt.lib msvcrt.lib