Code-editor mit Syntax-check v0.5

    • Skript

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

    • Code-editor mit Syntax-check v0.5

      Guten Tag/Abend Comunity,

      dies Projekt - ursprünglich für den IT Unterricht in der Schule gedacht, hat deutlich mehr Zeit in anspruch genommen als beabsichtigt, aber nun ist es zumindest teilweise Fertig.
      Ich präsentiere euch den wahrscheinlich ersten GML-Editor mit funktionierender Syntax-Überprüfung in GML geschrieben geschrieben.

      Wofür soll das gut sein?
      Naja es ermöglicht einem z.B. in einem komplexen Spiel eine eigene Skriptsprache einzubauen bzw. einen Editor dafür. Dies kann zum beispiel für Spieler-eigene Maps verwendet werden wobei der produzierte code dann während des Hauptspiels eingefügt wird (durch event_add, etc).

      So sieht das z.B. aus:

      Der Editor besitzt bereits color-highlighting sowie eine Art Autovervollständigung (dazu müssen alle möglichen FUnktionen samt Anzahl von Argumenten in ein Grid eingefügt werden - siehe create-event: Init )

      Das System ist allerdings noch nicht wirklich fertig bzw. hat ein paar Einschrenkungen aus anderen Gründen:
      Spoiler anzeigen

      - Arrays funktionieren noch nicht wirklich bzw der Spellchecker nimmt sie als Regelverstoß war.
      - Hinter einem if-statement muss eine Klammer folgen also "if (a = b)" statt "if a = b"
      - Benutzt man else dann muss der Code hinterm if-statement in geschweifte Klammer
      - Do-Until loop sowie das switch-statement funktionieren noch nicht (for und alle anderen aber schon)
      - Mehrzeilige strings werden nicht korekt gehighlightet - Komentare dagegen schon.. ka wieso..
      - Die Text-bearbeitungsengine ist schrott.. sollte ersetzt werden.
      - Syntax checker hat noch weitere Probleme wie das man eine Zeile mit nem Operator beginnen kann.. wird noch gelöst..

      Auf Benachrichtigungen über weitere Probleme freue ich mich.

      Wer Fragen hat kann sie gerne stellen.
      Der Code ist allerdings wirklich für "Fortgeschrittene" würde ich sagen - falls überhaupt jemand bei meinem Stil durchblickt.. :D (da der Spellchecker möglichst in Echtzeit laufen muss, habe ich oft die Leserlichkeit der Geschwindigkeit untergeordnet... )


      Leider gibt es im GM-Studio keine Möglichkeit mehr zur Laufzeit Code auszuführen weshalb man dort keine custom-maps mit Code ermöglichen kann - Außer man hat einen eigenen Interpreter in GML. Dies war auch mein ursprüngliches Ziel als ich diesen Spellchecker angefangen habe.
      In der Beispil-Datei ist etwas dazu schon vorbereitet aber im Moment ist dieses Vorhaben aufgrund von Zeitmangel auf eis gelegt. Eventuell werde ichs aber irgendwann angehen - eventuell mit Hilfe meines Professors da wir ein vergleichbares Thema grad behandeln...


      So, hoffe irgendjemandem nützt dies etwas und freue mich natürlich wenn jemand anders dran arbeiten würde!
      Dateien

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von DragonGamer ()

    • Also ich hab doch beschrieben wofür das gut ist (und ich habe vor das selbst in meine grossen Projekt ebenfalls zu verwenden).
      Scintilla ist natürlich interessant, aber wie willst du das in ein GM-Programm einbinden?
      (ausser mit DLLs die du vielleicht geschrieben hast, aber nicht jeder will auf externe Lösungen zuugreifen.. )
      Für meine Zwecke reicht die Version mit einschränkungen z.B schon.
      Der Sinn ist nicht damit einen neuen GM zu schreiben oder iwas.. (wobei ich mich frage ob dies nach Java für LateralGM portiert werden könnte...)

      P.s. glaube ich hab den Fehler mit den Operatoren am Statement-anfang im Syntax-checker gelöst! (wird heut abend geupdated)

      Von daher freue ich mich dann wenn jemand weitere Fehler ausser der paar erwähnten findet und nennt.

      EDIT: Datei mit gelöstem Fehler wurde hochgeladen.

      Willst du auf diese Drachen und -eier klicken?
      Sie werden sich freuen ;)

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von DragonGamer ()