Language-Befunge

 view release on metacpan or  search on metacpan

lib/Language/Befunge/doc/bf98-specs.html  view on Meta::CPAN

the extension <tt>.bf</tt>.  There is no enforced convention for
what any given Funge-98 source file name ends in (e.g. you could
easily write a C-Befunge polyglot whose file name ends in <tt>.c</tt>), but 
<tt>.b98</tt> is a good choice for Befunge-98 sources
- "standard" example programs use this suffix.

<p>Befunge-93 source files are plain text files containing only printable
ASCII characters and the end-of-line controls described below.

<p>Funge-98 source files are made up of Funge characters.  The
Funge-98 character set overlays the ASCII subset used by Befunge-93
and may have characters greater than 127 present in it (and greater
than 255 on systems where characters are stored in multiple bytes;
but no greater than 2,147,483,647.)  The Funge character set is 'display-independent.'
That is to say, character #417 may look like a squiggle on system
Foo and a happy face on system Bar, but the meaning is always the
same to Funge, 'character #417', regardless of what it looks like.

<p>In other words, what Funge characters look like on a particular computer or
OS depends entirely on that computer or OS.  However, when
characters are not generally considered to be printable, they can

lib/Language/Befunge/doc/bf98-specs.html  view on Meta::CPAN

<p>The <code>\</code> "Swap" instruction pops two cells off the stack, then pushes
the first cell back on, then the second cell, in effect swapping the
top two cells on the stack.

<p>The <code>n</code> "Clear Stack" instruction (not available in Befunge-93)
completely wipes the stack (popping and discarding elements
until it is empty.)

<hr><a name="Stack_Stack_Manipulation"><h3>Stack Stack Manipulation</h3>

<p>The stack stack transparently overlays
the stack - that is to say, the top stack of
Funge-98's stack stack is treated the same as
Befunge-93's sole stack.  The Funge programmer
will never notice the difference unless they
use the <code>{</code>, <code>}</code>, or <code>u</code>
instructions of Funge-98.

<p>When working with different stacks on the stack
stack, though, it's useful to give two of them
names: the <i>top of stack stack</i> or TOSS,



( run in 0.979 second using v1.01-cache-2.11-cpan-49f99fa48dc )