Home Befunge
News News
Befunge Befunge
   - Programs
   - Compilers
   - Interpreters
   - Documentation

Doom Doom
Inform Inform
Quake Quake
Misc Misc
Links Links
Contact Contact

'Fungus' Funge-98 diagnostics tool

(fungus.zip, 16,974 bytes)

This is release #1d of the Funge-98 test/diagnostic suite I've been working on, since the Befunge Diagnostics at Cat's Eye Technologies seem to have vanished. It still isn't finished yet, but is able to test for a plethora of features a Funge-98 (or Befunge-93) interpreter should support.

The tests are written as a series of Befunge-93 sized modules, which means that you can load each module into an interpreter (including Befunge-93 ones) for individual testing, should your interpreter fail to like the auto-loader program.

The current set of modules check the following:

  • fspace - Check fungespace configuration
    • Check get/put with negative cell addresses to check for unlimited fungespace size
    • Compute the size of stack and fungespace cells, and their signedness
    • Ask the y instruction for the fungespace cell size
  • b93 - Test simple befunge93 instructions
    • Check !, $, 0-9, :, ` work
    • Check edge jumps work
  • string - Check stringmode works
    • Direction change instructions are disabled
    • Non-ASCII cells work
    • SGML or Befunge-93 spaces?
  • math - Check maths
    • Check the signs of the % and / results
  • f98 - Check funge98 instructions
    • Check ', a-f, k, s and z work
  • f98space - Check funge98 direction/space related instrs
    • Check contents of ; gets skipped - direction changes, quotes, etc.
    • Check [], r, w, x
    • Check j - negative, zero, and positive arguments
  • concur - Check concurrency stuff
    • 't' agrees with 'y'
    • IP id's are different
    • z is 1 tick, space 0 ticks
    • k is 1 tick
  • sem - Check funge98 semantics
    • Check A-Z reflect
    • Check overlays work via the NULL and ROMA fingerprints
  • stackstack - Check stackstack instrs
    • u transfers data in correct directions & orders
    • { and }: if the offset changes, whether stacks are created, etc.
  • HRTI - Check HRTI fingerprint
    • Check instructions work
    • Provide simple benchmark

Page last modified 17/03/2007