Project

befunge98

0.0
No release in over 3 years
Low commit activity in last 3 years
[WIP] Probably the first Befunge-98 interpreter in Ruby
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

 Project Readme

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