Shakespeare, esotherische Programmiersprache



  • snickers_90 schrieb:

    Meinst Du, dass das unter Linux wohl einfacher wäre?

    Nein. Da kommen weitere Probleme auf Dich zu.

    der genaue Pfad der "hello.spl" ist /Users/Manu/Desktop/spl-1.2.1/examples/hello.spl. Den muss ich da ja nirgends angeben oder? Der soll ja gefunden werden?!

    Wenn Du den genauen Pfad kennst, dann musst Du ihn natürlich nicht suchen. Es passiert aber manchmal, dass Installer-Programme das Zeug nach eigenem Gutdünken quer über die Platte verteilen. Warum 'find' bei Dir zickt, weiß ich nicht.

    Du "navigierst" zu dem Pfad mit dem Befehl 'cd' (change directory):

    cd /Users/Manu/Desktop/spl-1.2.1/examples
    

    Mit 'pwd' (print working directory) prüfst Du nach, ob Du Dich auch tatsächlich dort befindest:

    pwd
    

    Wenn Du die Mitteilung 'Permission denied' erhältst, probiere es mal, indem Du dem Befehl ein 'sudo' voranstellst. Damit wirst Du für diesen Befehl zum Superuser (root) und darfst alles. Gilt auch für die anderen Befehle.

    Mit 'ls' (list) lässt Du Dir die Dateien im aktuellen Verzeichnis anzeigen und guckst, ob sich darunter eine Datei namens 'Makefile' befindet. Wenn diese Datei vorhanden ist, gibst Du

    make
    

    ein.

    Nun guckst Du mit 'ls', ob sich im Verzeichnis eine Datei namens 'hello' (ohne irgendwelche Zusätze) befindet. Wenn diese Datei vorhanden ist, rufst Du sie mit

    ./hello
    

    auf. Wichtig ist das './' (Punkt heißt: aktuelles Verzeichnis) am Anfang, sonst findet die Bash die Datei nicht.

    Es sollte nun ein 'Hello World!' auf dem Bildschirm stehen.

    Die ursprünglichen Sources haben Programmierfehler, die eine fehlerhafte C-Datei produzieren und die Herstellung einer Executable verhindern. Man muss einen Fork installieren:

    http://stackoverflow.com/questions/1948372/compiling-and-executing-the-shakespeare-programming-language-translator-spl2c-on/4418284#4418284

    Ich hoffe aber, dass das bei Dir nicht nötig ist.

    viele grüße
    ralph



  • cooky451 schrieb:

    Ach vergiss das mit dem find, blöder Tipp. Du kennst doch den Pfad, da musst du nichts suchen.

    1. GCC installieren (Haste schon)
    2. spl2c installieren (Haste schon?)
    3. Terminal öffnen
    4. Zum Ordner "/Users/Manu/Desktop/spl-1.2.1/examples/" navigieren
    5. "spl2c < hello.spl > hello.c" in das Terminal eingeben
    6. "gcc hello.c -lspl -o hello" in das Terminal eingeben
    7. "./hello" in das Terminal eingeben (Das sollte das von dir erstellte Programm starten.)

    Bitte sagen an welchem Schritt es scheitert und genaue Fehlermeldung posten. spl2c zu installieren sollte eigentlich die größte Hürde gewesen sein, den Rest packen wir schon. 😉

    Das gibts doch nicht 😞

    Also:

    1.GCC ist installiert
    2. Was genau ist spl2c? 😕
    3. OK 😃
    4. Wenn an dieser Stelle nach der Passwortabfrage "macBP:~ Manu$" stehen soll, dann passts 🙂
    5.

    -bash: hello.spl: No such file or directory
    
    i686-apple-darwin10-gcc-4.2.1: hello.c: No such file or directory
    

    7. geht demzufolge auch nicht 😞

    Hab hier noch ne angebliche Art "Compiler" gefunden, kann man damit evtl. irgendwas anfangen? Parrot sagt mir leider auch nichts...

    https://bitbucket.org/riffraff/shakespeare-parrot/src/tip/shakespeare.pir



  • Oh man, mir wirds schon langsam echt unangenehm. Ihr schreibt supercoole und auch verständliche Beiträge, aber irgendwas passt einfach nicht... 🙄

    Danke nochmal zwischenrein 😉



  • Also Du musst Dir auch schon selbst noch ein bisschen Mühe geben! Wenn man etwas PC-affin ist, bekommt man vieles eigentlich auch durch Probieren raus.

    snickers_90 schrieb:

    2. Was genau ist spl2c? 😕

    Der Shakespeare-Compiler, über den wir seit vier Seiten reden. Der, den Du bereits erfolgreich installiert haben solltest...

    4. Wenn an dieser Stelle nach der Passwortabfrage "macBP:~ Manu$" stehen soll, dann passts 🙂

    Welche Passwortabfrage? Für den cd-Befehl? Und nein, es passt nicht, da Du dich immernoch im Heimverzeichnis (~) befindest. Überprüfe den Pfad doch mal selbst mit pwd und lass das raten sein ;). Und wenn Du wirklich permission denied bekommst kopiere doch mal die Zeilen des Terminals von der Befehlseingabe bis zur nächsten Eingabeaufforderung hier rein.



  • 4. ist der Fehler. Da du danach immernoch im falschen Verzeichnis bist, findet er die Dateien auch nicht. Da soll stehen: /Users/Manu/Desktop/spl-1.2.1/examples/



  • Der Tip von rkhb mit sudo ist Blödsinn. sudo cd bringt gar nix. Einfach nur cd ohne sudo. Genauso, wie ich es geschrieben habe.



  • LordJaxom schrieb:

    Also Du musst Dir auch schon selbst noch ein bisschen Mühe geben! Wenn man etwas PC-affin ist, bekommt man vieles eigentlich auch durch Probieren raus.

    Programmierer werd ich trotzdem nicht 😃 Und wenn das tatsächlich einer der am schwersten erlernbaren Programmiersprachen ist dann ists ja perfekt 😃 Flash, Processing etc. sind wenigstens übersichtlich, aber sowas übers Terminal zu installieren hab ich ja auch noch nie gemacht 😞 Würds ja gern verstehen, aber das is echt komplex...

    LordJaxom schrieb:

    snickers_90 schrieb:

    2. Was genau ist spl2c? 😕

    Der Shakespeare-Compiler, über den wir seit vier Seiten reden. Der, den Du bereits erfolgreich installiert haben solltest...

    Ja gut, das war ja das mit dem "get install shakespeare" wo es auch schon Probleme gab...



  • snickers_90 schrieb:

    Und wenn das tatsächlich einer der am schwersten erlernbaren Programmiersprachen ist dann ists ja perfekt 😃

    Bisher machst du ja noch gar nichts in dieser Programmiersprache, das bisher wäre für Java oder Ruby praktisch genauso gewesen.



  • cooky451 schrieb:

    Ach vergiss das mit dem find, blöder Tipp

    nman schrieb:

    Der Tip von rkhb mit sudo ist Blödsin

    Also, dann verabschiede ich mich mal aus dem Thread, das muss ich mir nicht antun. Bei mir ist Shakespeare jetzt installiert und funktioniert.

    viele grüße
    ralph



  • Also, du hast das Terminal geöffnet. Dann gibst du folgendes in das Terminal ein:
    1. cd /Users/Manu/Desktop/spl-1.2.1/examples/ <ENTER>
    2. spl2c < hello.spl > hello.c <ENTER>
    3. gcc hello.c -lspl -o hello <ENTER>



  • pyhax schrieb:

    Also, du hast das Terminal geöffnet. Dann gibst du folgendes in das Terminal ein:
    1. cd /Users/Manu/Desktop/spl-1.2.1/examples/ <ENTER>
    2. spl2c < hello.spl > hello.c <ENTER>
    3. gcc hello.c -lspl -o hello <ENTER>

    Super 👍 Das würde an sich funktionieren, wenn ich nicht die Fehlermeldung bekommen würde, die schon mal jemand bekommen hat mit dem defekten Code. Das heißt dann wohl wie rkhb gemeint hat, ich muss diesen Fork installieren.

    rkhb schrieb:

    Man muss einen Fork installieren:

    http://stackoverflow.com/questions/1948372/compiling-and-executing-the-shakespeare-programming-language-translator-spl2c-on/4418284#4418284

    Was ist ein Fork und was macht dieser? Bzw. wie installiere ich ihn?
    An und für sich sollte es dann ja tun 🙂

    Das was bisher rauskommt sieht so aus:

    MacBP:~ Manu$ cd /Users/Manu/Desktop/spl-1.2.1/examples/
    MacBP:examples Manu$ spl2c < hello.spl > hello.c
    Warning at line 32: comment expected
    Warning at line 32: comment expected
    Warning at line 32: comment expected
    Warning at line 32: comment expected
    Warning at line 32: comment expected
    Warning at line 32: comment expected
    Warning at line 32: colon expected
    Warning at line 42: comment expected
    Warning at line 42: comment expected
    Warning at line 42: comment expected
    Warning at line 42: comment expected
    Warning at line 42: comment expected
    Warning at line 42: comment expected
    Warning at line 42: colon expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: comment expected
    Warning at line 57: colon expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: comment expected
    Warning at line 76: colon expected
    31 warnings found. Code may be defective.
    MacBP:examples Manu$
    


  • Das sind warnings. Das Programm sollte troztdem funktionieren. Teste es mal, in dem du folgendes eingibts:
    1. cd /Users/Manu/Desktop/spl-1.2.1/examples/ <ENTER>
    2. ./hello



  • Äh.. pyhax, du hast da den GCC Aufruf vercheckt. :p



  • cooky451 schrieb:

    Äh.. pyhax, du hast da den GCC Aufruf vercheckt. :p

    Oops, stimmt. Der muss noch vor das ./hello. 😃

    EDIT: Ich habe gerade selber Probleme, spl zu kompilieren 😮



  • Joa, geht wohl irgendwie über Macports, guck dir mal die Beiträge am Anfang an.



  • rkhb schrieb:

    Also, dann verabschiede ich mich mal aus dem Thread, das muss ich mir nicht antun. Bei mir ist Shakespeare jetzt installiert und funktioniert

    Ändert nichts daran, dass ein sudo cd /foo/bar/baz immer Blödsinn ist, der nichts bewirkt.

    Warum? Ganz einfach: Du wechselst als Superuser das Verzeichnis, gibst die Superuser-Rechte und das Working Directory aber sofort wieder auf und bist nach dem sudo wieder in exakt dem selben Verzeichnis wie vorher.



  • cooky451 schrieb:

    Joa, geht wohl irgendwie über Macports, guck dir mal die Beiträge am Anfang an.

    Ich habe keinen Mac, sondern Linux 😃



  • Ich versteh sowieso nicht, warum ihr euch immer allso so kompliziert macht. Einfach am Anfang sudo su machen und geht.



  • sudo su ist das sudo -i des armen Mannes.

    Dennoch ist es nicht sinnvoll, dauernd als root zu arbeiten, wenn nicht unbedingt nötig.



  • pyhax schrieb:

    Das sind warnings. Das Programm sollte troztdem funktionieren. Teste es mal, in dem du folgendes eingibts:
    1. cd /Users/Manu/Desktop/spl-1.2.1/examples/ <ENTER>
    2. ./hello

    Das sind mega Warnings 😮 aber es gibt mir das Gleiche aus 😞

    Ich kann zwar zum Ordner navigieren, aber die Fehler im SPL Code behebts mir nicht. Kann da nix öffnen 😞

    Wie soll das dann eigentlich aussehen? Also öffnet sich dann ein neues Fenster mit dem kompilieren SPL-Code?

    Habs gerade nochmal mit dem ./hello am Ende des gcc Befehls probiert...Da kommt dann nochmal ne andere Fehlermeldung vom SPL Code. Ich krieg ihn einfach nicht zum Laufen. " spl.h " liegt auf jeden Fall definitiv in diesem Verzeichnis, wird aber trotzdem nicht gefunden. 🙄 Ach ja: danke für den Tip mit " sudo -i ", das tut 🙂

    MacBP:examples root# gcc hello.c -lspl -o ./hello
    hello.c:7:17: error: spl.h: No such file or directory
    hello.c: In function ‘main’:
    hello.c:15: error: ‘CHARACTER’ undeclared (first use in this function)
    hello.c:15: error: (Each undeclared identifier is reported only once
    hello.c:15: error: for each function it appears in.)
    hello.c:15: error: ‘romeo’ undeclared (first use in this function)
    hello.c:16: error: ‘juliet’ undeclared (first use in this function)
    hello.c:17: error: ‘ophelia’ undeclared (first use in this function)
    hello.c:18: error: ‘hamlet’ undeclared (first use in this function)
    hello.c:37: error: ‘second_person’ undeclared (first use in this function)
    hello.c:49: error: duplicate label ‘act_i_scene_i’
    hello.c:31: error: previous definition of ‘act_i_scene_i’ was here
    hello.c:59: error: duplicate label ‘act_i_scene_i’
    hello.c:31: error: previous definition of ‘act_i_scene_i’ was here
    hello.c:73: error: duplicate label ‘act_i’
    hello.c:29: error: previous definition of ‘act_i’ was here
    hello.c:75: error: duplicate label ‘act_i_scene_i’
    hello.c:31: error: previous definition of ‘act_i_scene_i’ was here
    hello.c:93: error: duplicate label ‘act_i_scene_i’
    hello.c:31: error: previous definition of ‘act_i_scene_i’ was here
    MacBP:examples root#
    

Anmelden zum Antworten