33A standard-conforming Funge-98 interpreter.
44
55### Usage
6-
7- ` jfunge [file] [--3d] [--version] [--license] `
8-
9- | argument | usage |
10- | ----------------------| ---------------------------------------------------------------------------------------------------------------------------------|
11- | ` file ` | The file to load into the interpreter |
12- | ` --3d ` | Enable 3D (Trefunge) mode. By default, the interpreter emulates 2D Befunge for compatibility. |
13- | ` --version ` | Prints the current program version, along with the handprint and version given by befunge's y instruction |
14- | ` --license ` | Prints the license of the program. |
15- | ` --maxiter <number> ` | The maximum number of iterations the program can run for. Anything less than 1 will run until the program terminates naturally. |
6+ ```
7+ usage: jfunge [-f <file> | --help | --license | --version] [-i <file>]
8+ [--maxiter <iterations>] [-o <file>] [--syscall] [-t] [--trefunge]
9+ JFunge, a Funge98 interpeter for java.
10+ -f,--file <file> The file to load into the interpreter at the origin
11+ on startup.
12+ --help Displays this help page
13+ -i,--readperm <file> Enables read access to the specified file or
14+ directory (i instruction). Specify / to allow read
15+ access to every file on the system (dangerous). Can
16+ specify multiple files/folders.
17+ --license Prints the license of the program.
18+ --maxiter <iterations> The maximum number of iterations the program can
19+ run for. Anything less than 1 will run until the
20+ program terminates by itself. Default is unlimited.
21+ -o,--writeperm <file> Enables write access to the specified file or
22+ directory (o instruction). Specify / to allow write
23+ access to every file on the system (dangerous). Can
24+ specify multiple files/folders.
25+ --syscall Enables the syscall feature (= instruction). This
26+ is a very dangerous permission to grant, it can
27+ call any arbitrary program on your system.
28+ -t,--concurrent Enables the Concurrent Funge extension (t
29+ instruction). Buggy programs can potentially
30+ forkbomb the interpreter.
31+ --trefunge Enable 3D (Trefunge) mode. By default, the
32+ interpreter emulates 2D Befunge for compatibility.
33+ --version Prints the current program version, along with the
34+ handprint and version given by befunge's y
35+ instruction.
36+ ```
1637
1738### Compatibility
1839
@@ -30,13 +51,27 @@ The interpreter supports the following Funge-98 specification extensions:
3051- Optional Trefunge mode (experimental)
3152
3253Additionally, the following fingerprints are currently supported (more to come):
33- - [ MODE] ( https://catseye.tc/view/funge-98/library/MODE.markdown )
34- - [ MODU] ( https://catseye.tc/view/funge-98/library/MODU.markdown )
35- - [ NULL] ( https://catseye.tc/view/funge-98/library/NULL.markdown )
36- - [ ROMA] ( https://catseye.tc/view/funge-98/library/ROMA.markdown )
54+ - [ 3DSP] ( http://rcfunge98.com/rcsfingers.html#3DSP )
55+ - [ FPSP] ( http://rcfunge98.com/rcsfingers.html#FPSP )
56+ - [ HRTI] ( ./docs/catseye/library/HRTI.markdown )
57+ - [ MODE] ( ./docs/catseye/library/MODE.markdown )
58+ - [ MODU] ( ./docs/catseye/library/MODU.markdown )
59+ - [ NULL] ( ./docs/catseye/library/NULL.markdown )
60+ - [ ORTH] ( ./docs/catseye/library/ORTH.markdown )
61+ - [ PERL] ( ./docs/catseye/library/PERL.markdown )
62+ - [ REFC] ( ./docs/catseye/library/REFC.markdown )
63+ - [ ROMA] ( ./docs/catseye/library/ROMA.markdown )
64+ - [ TOYS] ( ./docs/catseye/library/TOYS.markdown )
65+ - [ TURT] ( ./docs/catseye/library/TURT.markdown )
66+
67+ ### Version Release Checklist
68+ - Update the version number inside the [ pom] ( ./pom.xml )
69+ - Update the version string and FUNGE_VERSION inside [ Globals] ( ./src/main/java/com/falsepattern/jfunge/Globals.java )
70+ - Create a new git tag with the same version number, and push it to master
71+ - Never push tags outside master!
3772
3873### References
3974
4075- [ Esolang wiki article of Funge-98] ( https://esolangs.org/wiki/Funge-98 )
41- - [ Official funge98 language specification] ( https://github.com/catseye/Funge-98/blob/master /doc/funge98.markdown)
76+ - [ Official funge98 language specification] ( ./docs/catseye /doc/funge98.markdown)
4277- [ Mycology Befunge-98 test suite] ( https://github.com/Deewiant/Mycology )
0 commit comments