Befunge Interpreter

  • Hallo AutoIt Community! :)
    Durch das Projekt ObjT von Robin98 hat mich die Lust gepackt, mich selber an einen Interpreter zu setzen. Als Basis und Einarbeitung habe ich erst einmal die esoterische Programmiersprache Befunge ausgesucht. Sie soll mir dabei helfen, erst einmal das Prinzip eines Interpreters besser zu verstehen. Und ich wollte zumindest einmal einen Interpreter umgesetzt haben!


    €dit:
    Im Anhang findet ihr eine *.zip mit meinem Programm. Ich habe für die Strukturierung das MVC Verfahren gewählt, um mein Programm dynamischer zu machen. Das bedeutet, dass kinderleicht die GUI verändert werden kann, dies aber das eigentliche Programm nicht einschränkt. So sind dann nur kleine schnelle Änderungen nötig. Dies habe ich so gemacht, um schon einmal für spätere größere Projekte zu üben.

    Die controller.au3 ist die Hauptdatei, diese muss gestartet werden.


    Die GUI enthält ein Code Eingabefeld, eine Stack Vorschau, Benutzer Eingabefeld und auch ein Ausgabefeld.

    Tastenkombinationen:
    Strg + N (Neue Datei)
    Strg + O (Datei öffnen)
    Strg + S (Datei speichern)
    Strg + T (Zeitangabe in Millisekunden ändern)
    Strg + Alt + S (Datei speichern unter)
    F5 (Code auführen)

    Was im nächsten Update kommt:
    - Menüeinträge im Menü "Datei" bekommen ihre Speichern & Öffnen Funktionen. [erledigt]
    - Input Control um die Geschwindigkeit zu regulieren (um leichter Fehler zu finden) [erledigt]
    - Eine Markierung im Code die anzeigt, an welchem Feld der Interpreter gerade arbeitet.

    (Bugs sind noch enthalten! *g*)


    LG. Make :)

  • Und schon gehts wieder los :rolleyes::whistling:
    Die Phase, wo jeder seine eigene Sprache hatte, kennen wir ja :D
    Viel Erfolg :)

    Es gibt sehr viele Leute, die glauben. Aber aus Aberglauben.
    - Blaise Pascal

  • Und schon gehts wieder los :rolleyes::whistling:
    Die Phase, wo jeder seine eigene Sprache hatte, kennen wir ja :D


    Ich finde das super (außerdem ist es ja nicht so, als würde man dabei nichts lernen).
    Gute Arbeit! :thumbup:

    Edit: Hast du etwa keine eigene Sprache? Das solltest du ganz schnell ändern... :D

  • Sich selbst Sprachen zu überlegen finde ich immer sehr interessant. (hab nicht umsonst schon 5 sinnlose Grafikformate entwickelt^^).
    Einen Interpreter für etwas bestehendes zu schreiben ist immer eine schwierige Aufgabe, wenn er wirklich regelkonform laufen soll.
    Man lernt nie aus, also weiter so :P
    (Und 2D Code ist was feines :D)

    lg
    M

  • Zitat von Xorianator

    Und schon gehts wieder los :rolleyes: :whistling:

    Immer doch ;)

    Zitat von James1337

    Ich finde das super (außerdem ist es ja nicht so, als würde man dabei nichts lernen).

    Das erste was ich gelernt habe, es klingt immer viel einfacher als wie es ist... Habe da oben in den beiden Funktionen noch genug Fehler gefunden die ich zu fixen habe. :P

    Zitat von Mars

    [...] schwierige Aufgabe, wenn er wirklich regelkonform laufen soll.

    Ja, da stürzt schonmal ab und zu mein Programm ab bei einiges Codes die ich im Internet finde. Aber nur durch Wikipedia einige Standarts zu ermitteln, ist auch nicht wirklich so einfach. Ich habe mir einen anderen Interpreter als Hilfe genommen.

    Ich danke für euer Feedback! :)

  • Hallo Community! :)
    Im ersten Post gibt es eine neue Version zum Downloaden!
    Bitte beachtet meinen Edit und den Anhang!

    Feedback und Verbesserungsvorschläge (zu dem Code) sind gerne gesehen.

    LG. Make :P

    Einmal editiert, zuletzt von Yjuq (25. Juli 2013 um 23:57)