Codegolf/RGB2Rv10: Difference between revisions

From NoName e.V.
Jump to navigation Jump to search
Line 51: Line 51:
=== Testcases ===
=== Testcases ===
git clone https://github.com/maikf/codegolf-rgb2rv10
git clone https://github.com/maikf/codegolf-rgb2rv10
ausführen mit 'GOLF_BIN="yadda yadda" prove -l'
 
Ausführen mit 'GOLF_BIN="yadda yadda" prove -l'

Revision as of 13:54, 8 October 2013

Esocalc

Was passiert, wenn man Befunge mit Brainfuck kreuzt? Brainfunge? Befuck?

Dieser Fungeoid wurde stark kastriert um die Implementation zu vereinfachen.

Programmspeicher

Der Programmspeicher hat 80 * 25 bytes. Daten werden auf einem Stack gespeichert, die meisten Operatoren poppen die zwei letzten Elemente und pushen das Ergebnis an das Ende. (erst "a", dann "b")

Initial ist der Zeiger auf dem ersten Byte und wandert nach rechts.

Man kann davon ausgehen, dass nur valide Programme via stdin übergeben werden. Der Zeiger wird nicht über die Grenzen der Zeilen/Zellen wandern.

Operatoren


0-9	Push this number on the stack
+	Addition: Pop a and b, then push a+b
-	Subtraction: Pop a and b, then push b-a
*	Multiplication: Pop a and b, then push a*b
/	Integer division: Pop a and b, then push b/a, rounded down.
>	Start moving right
<	Start moving left
^	Start moving up
v	Start moving down
_	Pop a value; move right if value=0, left otherwise
|	Pop a value; move down if value=0, up otherwise
.	Pop value and output as an integer plus a newline
@	End program
(space)	No-op. Does nothing

Beispiel ("pretty printed")

v
2   @
>3+.^

Ausgabe ist "5\n"

Testcases

git clone https://github.com/maikf/codegolf-rgb2rv10

Ausführen mit 'GOLF_BIN="yadda yadda" prove -l'