WNS Coding Language 0.1

    • [Other]

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • WNS Coding Language 0.1

      Hey, hey :D

      Ich habe ja vor kurzem gepostet, dass ich einen Compiler oder etwas in die Richtung schreiben will. Nunja, ich hab jetzt einen eigenen Weg gefunden und einen kleinen "Interpreter" geschrieben. Eigentlich wandelt er den Code nur in C++-Code um und führt diesen dann aus, aber man kann den Interpreter ganz einfach dahingehend
      verändern, dass er ihn in Assemblercode umwandelt und in eine Text-Datei speichert. :D

      Die Sprache ist erst ganz am Anfang, also nicht beschweren ;D

      NSFAQ - Not so frequently asked questions
      Wie kompiliere ich meinen Code?

      Ganz einfach: schreibt euren Code in eine Text-Datei und speichert diese als "main.wns" im selben Ordner, in dem auch der Compiler liegt, ab. Dann startet einfach den Compiler.

      How to code
      Bisher funktionieren Ein- und Ausgaben und char, string, bool, int und dec (Entspricht double) Variablen.
      Syntax
      Ein WNS-Programm in der Version 0.1 ist immer so aufgebaut:

      Quellcode

      1. //Code
      2. //Noch mehr code
      3. end

      Befehle
      Variablen
      Variablen werden so deklariert:

      Quellcode

      1. <Typ> <Name> [Wert]

      Mögliche Typen sind "int", "dec" (Entspricht double), "char", "string" und "bool".
      Wenn man keinen Wert angibt, wird ein Standardwert verwendet (0 bei int und dec, " " (Leerzeichen) bei char, "" bei string und false bei bool).
      Kommentare
      Kommentare sind immer Zeilenkommentare und müssen am Anfang einer neuen Zeile stehen:

      Quellcode

      1. //Hier steht ein Kommentar

      Ein- und Ausgabe
      Ausgabe
      Es gibt vier Befehle zur ausgabe:

      Quellcode

      1. out: "Text"
      2. //Gibt den String "Text" aus
      3. outln: "Text"
      4. //Gibt den String "Text" mit einem Zeilenumbruch danach aus
      5. outv: var
      6. //Gibt den Wert der Variable "var" aus (int, dec, char, string)
      7. outvln: var
      8. //Gibt den Wert der Variable "var" mit einem Zeilenumbruch danach aus (int, dec, char, string)

      Zwischen dem Befehl und dem Wert können auch mehrere oder gar kein Abstände sein.
      Eingabe
      Man kann nur Variablen eingeben:

      Quellcode

      1. in: var
      2. //Setzt den Wert der Variable "var" auf den eingegebenen Wert (int, dec, char und string)

      Der "end"-Befehl
      Am Ende eines jeden Programms muss der Befehl "end" stehen. Wenn man den Befehl mitten in's Programm schreibt, wird ein Fehler ausgegeben.
      Ein Beispiel-Programm

      Quellcode

      1. //Aufgabe des Users ausgeben
      2. outln: "Geben Sie eine Zahl ein:"
      3. //Variable "number" deklarieren
      4. int number 0
      5. //"number" einlesen
      6. in: number
      7. out: "Ihre Zahl war: "
      8. //Den eingegebenen Wert ausgeben
      9. outvln: number
      10. //Das selbe mit einer char-Variable
      11. outln: "Geben Sie einen Buchstaben ein:"
      12. char character
      13. in: character
      14. out: "Ihr Buchstabe war: "
      15. outvln: character
      16. end
      Alles anzeigen

      Syntax-Highlighting
      Ich habe eine xml-Datei erstellt, mit der man Syntax-Higlighting für WNS in Notepad++ einfügen kann. Die Datei ist angehängt.
      Schlusswort
      Den Source-Code findet ihr hier. Ich weiß, er ist wahrscheinlich nicht wirklich der beste, bitte schreibt mir Verbesserungen in den Thread hier :)
      Andere Ideen für die Sprache, Rückmeldungen, Fragen oder eure Programme schreibt mir auch hier rein :D
      Was noch kommen wird

      • Mathematische Berechnungen
      • Arrays
      • Externe Dateien und Funktionen
      • Metadaten
      • Mehr...
      Dateien
      • ressourcen.zip

        (78,99 kB, 30 mal heruntergeladen, zuletzt: )

      Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von Stunt_LP ()

    • Update: string-Typ hinzugefügt

      Dieser wird so deklariert:

      Quellcode

      1. string <name> <"wert">

      Beispiel:

      Quellcode

      1. string text "Hello world!"

      Er kann ausgegeben werden.
      Er kann eingegeben werden.

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von Stunt_LP ()