Skip to content
AndyObtivaPublic
forked from Nakilon/befunge98

About

GUI implementations by Glimmer DSL for SWT & Glimmer DSL for LibUI for the first Befunge-98 interpreter in Ruby

Resources

Stars

0 stars

Watchers

0 watching

Forks

 
 

Latest commit

 

History

34 Commits

Folders and files

Repository files navigation

Build Status

There are a lot of Befunge-93 Ruby implementations in the wild but I don't see any Befunge-98. So let it be the first one.

  • Befunge-93 ("Befunge-93 Documentation")
  • memory size and code format edits
  • Befunge-98 ("Funge-98 Final Specification")
    • operations
      • q -- quit
      • a-f -- push 10..15 onto stack
      • n -- clear all stacks
      • ', s -- fetch and store a char
      • ; -- comments
      • ], [, w, r, x -- change delta
      • j -- jump forward
      • k -- iterate
      • {, }, u -- push cells between TOSS and SOSS
      • (, ) -- we don't implement semantics
      • y -- what do 13th and 14th slots mean?
      • z -- can we just skip it?
    • y specification allows us to skip these
      • (execute) =
      • (filesystem) i, o
      • (concurrent) t
      • (3D) h, l, m
  • tests
    • bin
      • Hello, World!
      • failures, ^C, hanging, etc.
    • operations
      • Befunge-93
        • @
        • "
        • 0..9
        • $, :, \
        • #
        • >, <, ^, v, ?
        • +, -, *, /, %
        • |, _
        • ~, &, ,, .
        • !, `
        • p, g
      • Befunge-98
        • ~, &
        • q
        • a-f
        • n
        • ', s
        • ;
        • w
        • ], [, w, r, x
        • j
        • k
        • {, }, u
        • (, )
        • y
        • ...
  • Github Actions test
  • gemify
  • announce

This implementation in another language somewhat helped me: https://bitbucket.org/lifthrasiir/pyfunge/src/default/funge/languages/funge98.py

GUI

SWT screenshot 1

SWT screenshot 2

You may download a packaged version for the Mac (Big Sur x64 and earlier) from here (if it fails to install, follow the packaging instructions below for your specific environment)

To run GUI from cloned project, browse into gui/glimmer-dsl-swt/befunge98_gui_glimmer_dsl_swt

Run:

bundle

Afterwards, run:

glimmer run

To package into a native executable (learn more here), run:

glimmer package

LibUI screenshot 1

To run GUI from cloned project, browse into gui/glimmer-dsl-libui/befunge98_gui_glimmer_dsl_libui

Run:

bundle

Afterwards, run:

bin/befunge98_gui_glimmer_dsl_libui

About

GUI implementations by Glimmer DSL for SWT & Glimmer DSL for LibUI for the first Befunge-98 interpreter in Ruby

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages