a Funge-98 interpreter written in go
Find a file
2021-12-03 23:28:12 +01:00
cmd/gofunge98 Renamed headless_interpreter to gofunge98 2021-12-03 23:28:12 +01:00
mycology@3787e42c3d Made the interpreter pass most of the mycology test suite 2021-09-24 01:26:49 +02:00
pkg Refactoring : isolate stack manipulation into their own package 2021-11-12 15:28:09 +01:00
spec@7b4330df1a Made the interpreter pass most of the mycology test suite 2021-09-24 01:26:49 +02:00
.gitmodules Made the interpreter pass most of the mycology test suite 2021-09-24 01:26:49 +02:00
go.mod Renamed project since I do not intend to support over funge variants 2021-09-24 10:09:33 +02:00
go.sum Made the interpreter pass most of the mycology test suite 2021-09-24 01:26:49 +02:00
LICENSE Initial import 2021-09-14 00:16:05 +02:00
README.md Renamed headless_interpreter to gofunge98 2021-12-03 23:28:12 +01:00

GoFunge98 : a Funge-98 interpreter written in go

This repository contains code for a go 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 and o commands
  • does not implement system execution with the = command

Contents

Dependencies

go is required. Only go version >= 1.17 on linux amd64 (Gentoo) is being regularly tested.

Quick Install

go install git.adyxax.org/adyxax/gofunge98/cmd/gofunge98@latest

Usage

Launching the gofunge98 is as simple as :

gofunge98 -f something.b98

The interpreter will then load and execute the specified Funge-98 program until the program normally terminates or is interrupted or killed.

Building

To run tests, use :

go test -cover ./...

For a debug build, use :

go build ./cmd/gofunge98/

For a release build, use :

go build -ldflags '-s -w -extldflags "-static"' ./cmd/gofunge98/