Commits

Anonymous committed a36ae97

Begin massaging Markdown version of specification.

Comments (0)

Files changed (1)

doc/funge98.markdown

 
 ### Table of Contents
 
--   #### [Introduction](#Introduction)
+-   [Introduction](#Introduction)
 
     -   [What is a Funge?](#Whatis)
     -   [About this Document](#About)
 
--   #### [The Funge Virtual Machine](#Machine)
+-   [The Funge Virtual Machine](#Machine)
 
     -   [Code and Data](#Code_Data)
     -   [Funge-Space](#Space)
     -   [Stack Stack](#Stack_Stack)
     -   [Funge Source File Format](#Format)
 
--   #### [Code: Program Flow](#Code)
+-   [Code: Program Flow](#Code)
 
     -   [Instruction Pointer](#IP)
     -   [Instructions](#Instructions)
     -   [Flow Control](#Flow)
     -   [Decision Making](#Decision)
 
--   #### [Data: Cell Crunching](#Data)
+-   [Data: Cell Crunching](#Data)
 
     -   [Integers](#Integers)
     -   [Strings](#Strings)
     -   [Stack Manipulation](#Stack_Manipulation)
     -   [Stack Stack Manipulation](#Stack_Stack_Manipulation)
 
--   #### [Media: Communications and Storage](#Media)
+-   [Media: Communications and Storage](#Media)
 
     -   [Funge-Space Storage](#Storage)
     -   [Standard Input/Output](#Stdio)
     -   [System Execution](#System)
     -   [System Information Retrieval](#Sysinfo)
 
--   #### [Scale: Extension and Customization](#Scale)
+-   [Scale: Extension and Customization](#Scale)
 
     -   [Handprints](#Handprints)
     -   [Fingerprints](#Fingerprints)
     -   [Funge Central Registry](#Registry)
 
--   #### [Appendix](#Appendix)
+-   [Appendix](#Appendix)
 
     -   [Instruction Quick Reference](#Quickref)
     -   [Concurrent Funge-98](#Concurrent)
 To remember which is which, visualize yourself on the seat of a bicycle,
 looking down at the handlebars:
 
-  ------------- -------------- --------------
-  `+-| +-`      `+-+| |`       `-+ |-+`
-  `[`           ` `            `]`
-  `Turn Left`   `Go Forward`   `Turn Right`
-  ------------- -------------- --------------
+    +-          +-+          -+
+    |           | |           |
+    +-                       -+
+    
+    [                        ]
+    
+    Turn        Go           Turn
+    Left        Forward      Right
 
 The `r` "Reverse" instruction multiplies the IP's delta by -1. In two
 dimensions, this is the equivalent of reflecting the delta of the IP
 spaces and/or wrap while in stringmode will have to be changed to work
 the same under Funge-98.
 
-    Befunge-93      Befunge-98
-
+    Befunge-93              Befunge-98
+    
     "hello world"           "hello world"
     "hello   world"         "hello "::"world"
 
 skipping over the character (in no ticks). For example, the following
 two snippets perform the same function, printing a Q:
 
-`"Q",`
-
-`'Q,`
+    "Q",
+
+    'Q,
 
 `s` "Store Character" is the mirror image of the `'` instruction: this
 instead pops a value off the stack and writes it into (position +
 
 ### Funge Central Registry
 
+_Nota bene: information in this section is obsolete_
+
 The Funge Central Registry is an online database located at
 `http://www.catseye.mb.ca/esoteric/befunge/`. Before developing and
 releasing your own Funge-98 implementation or extension, please register
 -   `f` Filesystem Funge. Check `y` to see if these instructions are
     implemented.
 
-Decimal
-
-ASCII
-
-Instruction
-
-Stack Before
-
-Stack After
-
-Other Effects
-
-*(bottom ... top)*
-
-32
-
-space
-
-Space
-
-
-
-not normally executed
-
-33
-
-`!`
-
-Logical Not
-
-b
-
-NOT b
-
-
-34
-
-`"`
-
-Toggle Stringmode
-
-
-
-stringmode \<- NOT stringmode
-
-35
-
-`#`
-
-Trampoline
-
-
-
-pos \<- pos + delta
-
-36
-
-`$`
-
-Pop
-
-n
-
-
-
-37
-
-`%`
-
-Remainder
-
-a b
-
-a REM b
-
+"Before" column is the state of the TOSS before the instruction is
+executed.  "After" column is the state of the TOSS after the instruction
+is executed.  Both are notated from bottom (on the left) to top (on the
+right).
+
+    ASCII Instruction       Before   After     Other Effects
+    ----- -----------       ------   -----     -------------
+    space Space                                not normally executed
+    !     Logical Not       b        NOT b
+    "     Toggle Stringmode                    stringmode <- NOT stringmode
+    #     Trampoline                           pos <- pos + delta
+    $     Pop               n
+    %     Remainder         a b      a REM b
+
+* * * * *
 
 38