Shakespeare, esotherische Programmiersprache
-
rkhb schrieb:
Aber pyhax und Zeus haben wohl den Königsweg gefunden.
Bin noch immer dabei xCode zu laden, hat 4GB
Meld mich dann bald wieder zurück
-
XCode ist auf der Installations-DVD von Mac OS X drauf, die beim Mac dabei ist...
-
Jein, damit bekommst du shakespeare-compiler der shakespeare-code in c-code umwandelt, anschließend muss man mit dem gcc den c-code compilieren, damit ein ausführbares Programm erstell wird. Wobei der GCC womöglich auch während der Installation vom shakespeare gebraucht wird.
Also sorry, einmal muss ich jetzt echt noch nachfragen. XCode hab ich nach mehreren Fehlermeldungen installiert bekommen (auch in Foren schreiben viele von Problemen bei der Installation unter OSX...). MacPorts ist auch installiert.
Wie krieg ich jetzt den Shakespeare-Code in C umgewandelt? Find bei den installierten Programmen wieder keine ausführbaren Dateien
Oder muss ich mit meinem Terminal wieder irgendwas machen? Bräucht wirklich nochmal ne Step by Step Anweisung
-
Stand doch schon am Anfang des Threads:
SeppJ schrieb:
Wie soll man zu dem Bild 1 bzw. Kapitel 6 noch etwas hinzufügen? Eindeutiger geht's doch nun wirklich nicht. Befehlskette:
spl2c < dein_shakespeare_programm.spl > zwischencode.c gcc zwischencode.c -lspl -o wie_das_programm_am_ende_heissen_soll -und -eventuelle -weitere -optionen -z.B. -O2 -g
Und ja, das muß im Terminal eingegeben werden. (Die erste Zeile wandelt Shakespeare nach C. Die zweite wandelt C zu einem ausführbaren Programm.)
-
@snickers_90 Das hier schon gemacht?
Zeus schrieb:
- MacPorts über DMG-Datei installieren.
- sudo apt-get install shakespeare
Und danach halt einfach das Zeug in's Terminal hauen was SeppJ geschrieben hat. Deine Dateien müssen dabei im "working directory" (keine Ahnung wie das unter OSX heißt) liegen. (Der Pfad der dir angezeigt wird im Terminal. Google hilft dir beim Wechseln des Pfades.)
Oder du gibst einfach gleich den vollständigen Pfad zur Datei an.
-
cooky451 schrieb:
@snickers_90 Das hier schon gemacht?
Zeus schrieb:
- MacPorts über DMG-Datei installieren.
- sudo apt-get install shakespeare
Hab alles installiert jo.
Aber das "sudo apt-get install shakespeare" muss ich doch auch ins terminal eingeben, oder verstehe ich da was falsch? Weil wenn ich das mach, krieg ich ne Fehlermeldung
und zwar: "command not found". Müssen da was im Hintergrund laufen oder was mach ich da falsch?
Den Pfad angeben krieg ich grad noch hin hehe
Hab derzeit sowieso alles auf meinem Schreibtisch liegen...
Oh man, wird doch irgendwie laufen jetzt endlich mal
Ein riesen Danke zwischenrein an euch alle
-
Probier mal apt-get install shakespeare (ohne sudo). Sagt er dir dann, dass du Adminrechte dafür brauchst?
-
Sorry der es ist nicht apt-get sondern port.
-
Btw. die Shakespare Programming Language ist angeblich eine der schwersten Esoterischen Programmiersprachen.
Schau dir mal BrainFuck oder Ook! an wobei BrainFuck und Ook! eigentlich fast das selbe ist.^^
Google mal nach BrainFuck Compiler (ich hatte da mal einen) beim download waren auch ein paar Programmierbeispiele dabei.
-
schrieb:
Btw. die Shakespare Programming Language ist angeblich eine der schwersten Esoterischen Programmiersprachen.
Laut wem? Sie sieht eigentlich recht einfach aus. Die schwerste ist mit Sicherheit Malbolge.
Google mal nach BrainFuck Compiler (ich hatte da mal einen) beim download waren auch ein paar Programmierbeispiele dabei.
Ich geb mal wieder meinen Lieblingslink (sorry an den Rest): http://www.c-plusplus.net/forum/292057
Ich vermute mal, dass alle in dem Studiengang ein Referat über eine esoterische Programmiersprache halten müssen, und der OP hat halt gerade Shakespeare erwischt; deswegen nützen diese Tips nicht so viel.
-
Bashar schrieb:
Ich vermute mal, dass alle in dem Studiengang ein Referat über eine esoterische Programmiersprache halten müssen, und der OP hat halt gerade Shakespeare erwischt; deswegen nützen diese Tips nicht so viel.
Schöne Vermutung nachdem er sich bereits genau darüber ausgeweint hat.
Was esotherische Programmiersprachen in einem Designstudium machen, bleibt mir aber weiterhin ein Rätsel. Grundübungen in Scriptsprachen wie Python (au, ist ja gut) um eigene Exporter zu schreiben könnte ich mir noch vorstellen; aber Shakespeare? Nein, den Sinn sehe ich beim besten Willen nicht.
-
cooky451 schrieb:
esotherische
Jau, jedes Kind weiß: Bei Fremdwörtern kommt hinter jedes T ein H
-
@Bashar das hatte ich mal irgendwo gelesen.
Aber Malbolge sieht ja spaßig aus.
Wieso steht auf Wikipedia das erst 2 Jahre nach Entstehung der Sprache Malbolge das erste Programm erschien?
Ich meine der Typ der die Sprache entwickelt hat musste doch sicher auch vorher testen ob das alles funktioniert oder nicht?^^
http://de.wikipedia.org/wiki/Malbolge schrieb:
Als Beweis für die schwierige Entwicklung von Programmen steht, dass das erste Malbolge-Programm erst zwei Jahre nach dem Entstehen der Programmiersprache entstanden ist. Dieses Programm wurde nicht von einem Menschen programmiert, sondern von einem in Lisp geschriebenen Programm unter Anwendung eines Such-Algorithmus gefunden. Entwickelt wurde dieses Suchprogramm von Andrew Cooke.
Manche Leute wissen wohl echt nicht was sie mit ihrer Zeit anstellen sollen ...
-
Zeus schrieb:
Sorry der es ist nicht apt-get sondern port.
Dann krieg ich folgende Meldung: "Error: Insufficient privileges to write to MacPorts install prefix."
cooky451 schrieb:
Probier mal apt-get install shakespeare (ohne sudo). Sagt er dir dann, dass du Adminrechte dafür brauchst?
Ne dann kommt immer noch "command not found"...
Langsam aber sicher bin ich am Verzweifeln
Muss der Shakespeare-Ordner dabei in einem bestimmten Verzeichnis liegen? Also momentan liegt wie gesagt alles am Desktop. Weiß echt nicht mehr weiter *grml*
An den Rest: es geht allgemein um Programmiersprachen bei unseren Referaten. Brainfuck ist u.a. auch dabei wenn ich richtig informiert bin
Nen großen Sinn seh ich auch net, aber ändern kann ich's leider nicht
-
snickers_90 schrieb:
Dann krieg ich folgende Meldung: "Error: Insufficient privileges to write to MacPorts install prefix."
Du musst dem Befehl ein sudo voranstellen, damit du ihn mit Adminrechten ausführen kannst.
sudo port install shakespeare
Dann wird er dich nach deinem Passwort fragen, dieses gibst du dann ein (Du siehst aus Sicherheitsgründen nicht, was du eingibts).
-
sudo port install shakespeare
Ja cool, das hat mein Macbook jetzt schon mal ohne Fehler gemacht
Endlich tut sich mal was
Bleibt mir nur noch die Frage vom Anfang des Threads:
spl2c < dein_shakespeare_programm.spl > zwischencode.c gcc zwischencode.c -lspl -o wie_das_programm_am_ende_heissen_soll -und -eventuelle -weitere -optionen -z.B. -O2 -g gcc zwischencode.c /Pfad/zur/Bibliothek/libspl.a -o wie_das_programm_am_ende_heissen_soll -und -eventuelle -weitere -optionen -z.B. -O2 -g
Nur zum Verständnis:
– "dein_shakespeare_programm.spl" bezieht sich auf das Programm, das ich öffnen / kompilieren möchte, und gibt dessen Pfad an; in meinem Fall hello.spl
– "zwischencode.c" existiert noch nicht, wird aber automatisch erstellt und der Shakespeare-Code des hello.spl in C hinein geschrieben
– gcc greift dann die erstellte Datei "zwischencode.c" mittels der Bibliothek "libspl.a" auf (kann aber leider nur libspl.c im Ordner finden)
– weitere Optionen sind optional anzugeben
– ich kann beide Befehle zusammen oder nacheinander im Terminal ausführenRichtig so?
Das ganze mal umgeschrieben, wenn mein SPL-Ordner auf dem Desktop liegt:
spl2c < /Users/Manu/Desktop/spl-1.2.1/examples/hello.spl > zwischencode.c gcc zwischencode.c -lspl -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g gcc zwischencode.c /Users/Manu/Desktop/spl-1.2.1/libspl.c -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g gcc zwischencode.c /Users/Manu/Desktop/spl-1.2.1/spl.h -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g
Wenn ich das so ins Terminal eingeb krieg ich folgendes ausgegeben (bei einem Versuch kam auch, dass innerhalb der Datei Kommentare falsch sind, etc.):
Last login: Wed May 23 01:17:21 on ttys000 MacBP:~ Manu$ spl2c < hello.spl > zwischencode.c -bash: hello.spl: No such file or directory MacBP:~ Manu$ gcc zwischencode.c -lspl -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g i686-apple-darwin10-gcc-4.2.1: -und: No such file or directory MacBP:~ Manu$ gcc zwischencode.c /Users/Manu/Desktop/spl-1.2.1/libspl.c -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g i686-apple-darwin10-gcc-4.2.1: -und: No such file or directory MacBP:~ Manu$ gcc zwischencode.c /Users/Manu/Desktop/spl-1.2.1/spl.h -o helloworld -und -eventuelle -weitere -optionen -z.B. -O2 -g
Sollte ja heißen, dass die Dateien nicht in der richtigen Directory liegen, dem ist aber nicht. Sie liegen auf dem Desktop, direkt im SPL Ordner. Die Datei "hello.spl" liegt wie ursprünglich im examples Ordner desgleichen.
Die never ending Shakespeare Story geht in die letzten Runden (hoff ich jedenfalls...
)
-
Meinste wirklich "-und -eventuelle -weitere -optionen -z.B." sind echte Parameter für GCC?
Bashar schrieb:
cooky451 schrieb:
esotherische
Jau, jedes Kind weiß: Bei Fremdwörtern kommt hinter jedes T ein H
Natürlich. Die stammen schließlich alle von theoretisch ab.
-
cooky451 schrieb:
Meinste wirklich "-und -eventuelle -weitere -optionen -z.B." sind echte Parameter für GCC?
Keine Parameter, aber doch eine Art Kommentar oder? Ähnlich wie man das bei anderen Programmiersprachen eben mit // oder /* … */ auskommentiert, so macht man das da mit "-" oder? Weiß es ja nicht, drum frag ich ja
Oder muss ich das komplett weglassen?
Der Grund, warum es noch nicht läuft, ist es aber ja eher nicht oder?
cooky451 schrieb:
esotherische
Jau, jedes Kind weiß: Bei Fremdwörtern kommt hinter jedes T ein HNatürlich. Die stammen schließlich alle von theoretisch ab.
gute Herleitung
Dann ist meine vermeintliche falsche Rechtschreibung gar nicht so falsch
-
Ne. Die -xyz sind Parameter, die dem Programm beim Start sagen, was es eigentlich machen soll. Mit Kommentaren hat das nichts zu tun. SeppJ wollte dir nur zeigen, dass man da noch mehr hinschreiben kann, hat aber nicht damit gerechnet, dass du keine Ahnung von Programmen hast, die man über Startparameter steuert.
-
Was das Verzeichnis angeht: Schau mal mit den Befehlen "pwd" und "ls", ob Du überhaupt im Desktop-Verzeichnis im SPL-Ordner bist.