Simple Programmiersprache



  • Hey liebes Forum.

    Ich habe vor eine simple Programmiersprache zu entwickeln. Sie soll wirklich nichts besonderes sein. Ich wollte wissen, wie ich sowas am besten entwickeln kann. Der Code sollte in einer txt gespeichert sein und vielleicht beim "ausführen" in Zeilen gesplittet werden und diese dann auf zb "for" oder so durchsucht werden....
    Wie ihr merkt, hab ich nicht wirklich 'nen Plan 😃
    Ich freu mich auf Vorschläge

    Mfg DerCoder



  • Das ist zunächst nicht so trivial. Ist zwar keine Scriptsprache, aber so ähnlich wirds auch dort gemacht...

    http://www.c-plusplus.net/forum/viewtopic-var-t-is-201764.html



  • Vielleicht fängst du lieber erst einmal klein an.
    Als ich mit C++ anfing, habe ich mir eine kleine assemblerartige "Sprache" ausgedacht. Dafür einen Compiler zu schreiben ist recht einfach, da du das ganze stur zeilenweise durchgehen kannst. Das habe ich dann mit Socketfunktionalität und Grafikausgabe erweitert, so dass man sogar kleine brauchbare Programme damit schreiben konnte.
    Wenn du so etwas hinbekommen hast, kannst du dich vorwärts wagen. Z.B. baust du dann if-else-Konstrukte und einfache Funktionen (erst einmal ohne Parameter) ein usw.



  • Danke für die fixe Antwort!
    Werd ich gleich mal machen 🙂



  • Athar schrieb:

    Vielleicht fängst du lieber erst einmal klein an.
    Als ich mit C++ anfing, habe ich mir eine kleine assemblerartige "Sprache" ausgedacht. Dafür einen Compiler zu schreiben ist recht einfach, da du das ganze stur zeilenweise durchgehen kannst. Das habe ich dann mit Socketfunktionalität und Grafikausgabe erweitert, so dass man sogar kleine brauchbare Programme damit schreiben konnte.
    Wenn du so etwas hinbekommen hast, kannst du dich vorwärts wagen. Z.B. baust du dann if-else-Konstrukte und einfache Funktionen (erst einmal ohne Parameter) ein usw.

    Als ich mit C++ angefangen habe, da hab ich ein nutzloses Programm nach dem anderen geschrieben. Das Entwickeln einer eigenen Programmiersprache kam mir gar nicht in den Sinn. Aber eine Sprache, die einen Keller steuert wäre durchaus ein simpler Anfang:

    PUSH 10
    PUSH 5
    ADD
    PRINT
    

    Ausgabe: 15



  • Hat jemand ne Idee, wie ein Pseudocode dazu aussehen könnte?



  • DerCoder schrieb:

    Hat jemand ne Idee, wie ein Pseudocode dazu aussehen könnte?

    stack<int> st;
    foreach(line,lines)
    {
      if (line starts with "PUSH")st.push(rest of line);
      else if (line equals "ADD")st.push(st.pop()+st.pop());
      else if (line equals "PRINT")cout << st.top() << endl;
    }
    


  • Wenns ein wenig komplizierter sein soll, versuch doch mal einen Piet-Interpreter zu schreiben 🙂


Anmelden zum Antworten