Cow Programmiersprache / Interpreter

Herkunft / Verwendung:Cow ist eine Erweiterung der esoterischen Programmiersprache Brainfuck um weitere 4 Befehle. Sie verwendet dreistellige Kombinationen der Zeichen M, m, O und o, um die wichtigsten Programmfunktionen (Zeiger, Werte, Ausgabe, Eingabe, Sprünge, Register) abzubilden. Sie ist schwer lesbar, umständlich und ineffizient und eher als Scherz oder Machbarkeitsstudie gedacht.

Ein Cow-Code hört sich wie das Muhen einer Kuh (engl. "Moo" = dt. "Muh") an, daher der Name. Der Code zur Ausgabe von "Hallo" ist z. B. "MoO MoO MoO MoO MoO MoO MoO MoO MOO MOo moO MoO MoO MoO MoO MoO MoO MoO MoO MoO mOo moo moO Moo mOo MoO MoO MoO MoO MoO MOO MOo moO MoO MoO MoO MoO MoO mOo moo moO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo".

Cow-Code ist noch schwerer lesbar als Brainfuck-Code und ähnelt von der Lesart her eher Ook als Brainfuck.

Spezifikation der Cow-Befehle

Befehlsnr.BefehlBrainfuckBeschreibung
6MoO+den Wert der aktuellen Zelle um 1 erhöhen
5MOo-den Wert der aktuellen Zelle um 1 verringern
2moO>eine Zelle nach rechts gehen
1mOo<eine Zelle nach links gehen
7MOO[Schleifenanfang - die Schleife durchlaufen solange der Wert der aktuellen Zelle ungleich 0 ist
0moo]Schleifenende - beendet die Schleife, wenn der Wert der aktuellen Zelle gleich 0 ist
4Moo.den Wert der aktuellen Zelle ausdrucken, wenn Zellenwert ungleich 0
4Moo,einen Wert von der Tastatur in die aktuelle Zelle einlesen, wenn Zellenwert = 0
3mOO!den Wert in aktueller Zelle als Befehl (0-11) ausführen
8OOO/den Wert in aktueller Zelle auf 0 setzen
9MMM^wenn Register leer, dann aktuellen Zellenwert hineinkopieren,
wenn Register nicht leer, aktuellen Zellenwert aus Register holen und Register löschen
10OOM:den Wert der aktuellen Zelle als Zahl ausdrucken
11oom;einen Zahlwert von der Tastatur in die aktuelle Zelle einlesen

*Für die Cow-Befehle 3, 8, 9, 10, 11 gibt es keine Entsprechung in Brainfuck.

Beispiel

Klartext:Hallo
Brainfuck:++++++++[->+++++++++<]>.<+++++[->+++++<]>.+++++++++++..+++.
Cow:MoO MoO MoO MoO MoO MoO MoO MoO MOO MOo moO MoO MoO MoO MoO MoO MoO MoO MoO MoO mOo moo moO Moo mOo MoO MoO MoO MoO MoO MOO MOo moO MoO MoO MoO MoO MoO mOo moo moO Moo MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO MoO Moo Moo MoO MoO MoO Moo

Code / Chiffre online dekodieren / entschlüsseln bzw. kodieren / verschlüsseln (DeCoder / Encoder / Solver-Tool)