Category:SNUSP: Difference between revisions

From Rosetta Code
Content added Content deleted
(Added more information about the language)
No edit summary
Line 1: Line 1:
{{language|SNUSP}}'''SNUSP''' is an esoteric language that is a mix of [[Brainf***]] and [[Befunge]], with a call stack and optional concurrency thrown in. It uses all of the basic Brainf*** commands except the loop commands ('[' and ']') plus "mirrors" ('/' and '\'). There is a code pointer which moves through the two-dimensional code space in one of four directions like in Befunge, and it "bounces off" of these mirrors. For instance, if the code pointer is moving to the right and hits a '\', it starts to move down starting with the character below the mirror. This is how SNUSP can get away without having loops. Other basic commands are '?' (skip the next character if the element at the memory pointer is 0), '!' (unconditional skip), '$' (start the code pointer here), and '#' (end program). Even more commands can be added to deal with threading and subroutines ('&', '@', and '#' changes to "end subroutine"), two-dimensional memory space (':' and ';'), and random numbers ('%').
{{language|SNUSP}}'''SNUSP''' is an esoteric language that is a mix of [[Brainf***]] and [[Befunge]], with a call stack and optional concurrency thrown in. It uses all of the basic Brainf*** commands except the loop commands ('[' and ']'). There is a code pointer which moves through the two-dimensional code space in one of four directions like in Befunge, and it "bounces off" of two "mirrors" ('/' and '\'). For instance, if the code pointer is moving to the right and hits a '\', it starts to move down starting with the character below the mirror. The two other flow control commands are '?' (skip the next character if the element at the memory pointer is 0), and '!' (unconditional skip). This is how SNUSP can get away without Brainf***'s loop commands. The optional '$' (start the code pointer here) rounds out '''Core SNUSP'''. There are two additional language layers: '''Modular SNUSP''' adds '@', and '#' for call and return from subroutine. '''Bloated SNUSP''' adds '&' for thread-split, a two-dimensional memory space (':' and ';'), and random numbers ('%').


'''See also''':
'''See also''':

Revision as of 21:55, 5 May 2008

Language
SNUSP
This programming language may be used to instruct a computer to perform a task.
See Also:


Listed below are all of the tasks on Rosetta Code which have been solved using SNUSP.

SNUSP is an esoteric language that is a mix of Brainf*** and Befunge, with a call stack and optional concurrency thrown in. It uses all of the basic Brainf*** commands except the loop commands ('[' and ']'). There is a code pointer which moves through the two-dimensional code space in one of four directions like in Befunge, and it "bounces off" of two "mirrors" ('/' and '\'). For instance, if the code pointer is moving to the right and hits a '\', it starts to move down starting with the character below the mirror. The two other flow control commands are '?' (skip the next character if the element at the memory pointer is 0), and '!' (unconditional skip). This is how SNUSP can get away without Brainf***'s loop commands. The optional '$' (start the code pointer here) rounds out Core SNUSP. There are two additional language layers: Modular SNUSP adds '@', and '#' for call and return from subroutine. Bloated SNUSP adds '&' for thread-split, a two-dimensional memory space (':' and ';'), and random numbers ('%').

See also: