a Funge-98 interpreter written in zig
lib | ||
mycology@2e405a62a3 | ||
spec@7b4330df1a | ||
src | ||
tests | ||
.gitignore | ||
.gitmodules | ||
build.zig | ||
LICENSE | ||
README.md |
ZigFunge98 : a Funge-98 interpreter written in zig
This repository contains code for a zig program that can interpret a valid Funge-98 program. It passes the mycology test suite.
Current limitations are :
- currently does not implement any fingerprints
- does not implement concurrent execution with the
t
command - does not implement file I/O with the
i
ando
commands - does not implement system execution with the
=
command
Contents
Dependencies
zig is required. Only zig version 0.13 on linux amd64 (Gentoo) is being regularly tested.
Quick Install
To get, compile then install zigfunge98, do something like:
git clone https://git.adyxax.org/adyxax/zigfunge98
cd zigfunge98
zig build -Drelease-safe
install ./zig-out/bin/zigfunge98 ~/.local/bin/
Usage
Launching zigfunge98 is as simple as :
zigfunge98 something.b98
The interpreter will load and execute the specified Funge-98 program until the program normally terminates or is interrupted or killed.
Building
To run tests, use :
zig build test
To test the coverage, use:
zig build test -Dtest-coverage
firefox kcov-output/index.html
To build a debug build, simply use:
zig build
For a non debug build, use either one of:
zig build -Doptimize=ReleaseSafe
zig build -Doptimize=ReleaseSmall
zig build -Doptimize=ReleaseFast