Minsky-Poesie


Minsky-Poesie ist eine an die Registermaschine von Marvin Minsky angelehnte Programmiersprache für visuelle Poesie. Die Befehle dieser Sprache sind einzelne Wörter (die allerdings auch nur ein Zeichen lang sein dürfen). Die Wörter sind durch Leerzeichen oder Zeilenumbruch getrennt. Die Wörter dürfen nur mit den Zeichen A - Z beginnen. Zusätzlich zu den Wörtern gibt es Klammern und einen Doppelpunkt am Ende von Wörtern. Die Maschine verfügt über 26 Register, die von "A" bis "Z" benannt sind und zu Beginn des Programms den Inhalt 0 haben.

Die Befehle im Einzelnen

Wort
(groß geschrieben)
Das Register, das den gleichen Namen wie der Anfangsbuchstabe des Wortes hat, wird um 1 erhöht (Inkrementierung).
wort
(klein geschrieben)
Das Register, das den gleichen Namen wie der Anfangsbuchstabe des Wortes hat, wird um 1 verringert (Dekrementierung).
wort: Das Register, das den gleichen Namen wie der Anfangsbuchstabe des Wortes hat, wird ausgegeben. Ist der Anfangsbuchstabe groß geschrieben, wird danach ein Zeilenumbruch ausgeführt.
() Klammern markieren den Anfang und das Ende von Schleifen. In dem Augenblick, in dem ein Register in einer Schleife durch Dekrementierung den Wert 0 erreicht (oder auch weniger bei äußeren Schleifen), wird die umgebende Schleife abgebrochen.


Beispiele

Addition:


A A A B B
a: B:
(A b)
a:


           

Subtraktion:


A B B B B
a: B:
(a b)
(b (a))
a:


Minimum:


A B B B B
a: B:
(C a b)
c:


Maximum:


A B B B B
a: B:
(C D a)
(E F b)
(G c e)
(D f)
(d g) d:


Multiplikation:


A A A B B
a: B:
((C D b)
(B d) a)
c:


Division (mit Rest):


A A A A A
A A B B B
a: B:
((C b a)
D a (B c))
A A E E d
(a D e)
d: (e C:)


Die (3n+1) - Folge:


A A A A A
A A A A B
g: A:
Pruefen,_ob_a_gerade_ist...
((C B a C b a)
(D E b) E
Wenn_a_ungerade_ist...
(d e e (F F F c) F)
Wenn_a_gerade_ist...
(e (F c c))
(A f) B a A
G g: A:)
G g: A a:



Weitere Programme: Minsky.txt


Poesie

Das folgende Gedicht "Happy Birthday to Maren S. (3rd edition)" wurde in Minsky-Poesie geschrieben und berechnet die 23. Fibonacci-Zahl:



HappyBirthday
Happy Birthday, Maren
Mar...
Ma...

            M M M M M
            M M M M M
            M M M M M
            M M M (m...


(Day, birthday)
(Birth Day, happyBirthday)
(Happy day))
happy:





Manfred Arens

Links


Colcül
untexte
FRACTRAN

A A A A A A: (B C a) (A b) (A c) a:

A A A A A (B C a) C ((D E c) (C e) b) (A d d) a: