JassHelper
Aus Mappedia
Der JassHelper ist ein vom Wc3C[1]-Benutzer Vexorian[2] entwickelter Precompiler[3] für die Skriptsprachen vJass und Zinc 2. Beide Skriptsprachen erweitern die von Blizzard entwickelte Skriptsprache Jass und neue Eigenschaften. Der JassHelper ist in Pascal bzw. Delphi geschrieben und verwendet den GOLD Parser[4]. Die primäre Aufgabe des JassHelpers besteht darin vJass- oder Zinc-2-Code auf Syntaxfehler zu überprüfen und diesen nach einem fehlerfreien Ablauf zunächst in vJass-, insofern es sich um Zinc-2-Code handelt, und dann in Jass-Code umzuwandeln.
Inhaltsverzeichnis |
[bearbeiten] Verwendung
Der JassHelper kann einerseits mit Hilfe des JassNewGenPacks und andererseits über die Konsole[5] verwendet werden. Da er nicht plattformübergreifend ist, kann er z. B. unter dem Betriebssystemen GNU/Linux[6] ausschließlich mit dem Programm wine[7] verwendet werden.
[bearbeiten] Konsole
Die standardmäßige Argumentreihenfolge in der Konsole lautet: <relativer oder absoluter Pfad zur common.j-Datei> <relativer oder absoluter Pfad zur Blizzard.j-Datei> <relativer oder absoluter Pfad zur Kartendatei> Zusätzlich kann hinter das Kartendatei-Argument noch ein relativer oder absoluter Pfad zur Kartenskriptdatei stehen, welche dann als Kartenskript für die angegebene Kartendatei verwendet wird. Die ausführbare Datei "clijasshelper.exe" ermöglicht einem das Anzeigen der Ausgabe in der Konsole. Anders als bei der Datei "jasshelper.exe" werden keine Fenster erzeugt.
Zusätzlich stehen noch einige Optionen zur Verfügung:
- --debug : Aktiviert den Debug-Modus - Zeilen mit einem debug-Präfix werden geparst (aktiviert die --nooptimize-Option).
- --nopreprocessor : Parst den Code als normalen Jass-Code (verwendet dafür PJass).
- --nooptimize : Deaktiviert den Optimierungsmodus - inline-Funktionen[8] werden nicht umgewandelt usw..
- --scriptonly : Ändert die Argumentart und -reihenfolge: <relativer oder absoluter Pfad zur common.j-Datei> <relativer oder absoluter Pfad zur Blizzard.j-Datei> <relativer oder absoluter Pfad zur Eingabedatei> <relativer oder absoluter Pfad zur Ausgabedatei>.
- --warcity : Wandelt die Ausgabedatei in eine WarCity-Datei um und wertet dazu ausschließlich //! import- und //! novjass-Anweisungen aus (aktiviert die --scriptonly-Option).
- --zinconly : Der Inhalt der Eingabedatei wird wie reiner Zinc-2-Code behandelt (aktiviert die --scriptonly-Option).
- --macromode : Wie --warcity, wertet allerdings auch Textmakros aus.
- --about : Zeigt die verwendete Version des JassHelpers an.
- --showerrors : Zeigt den oder die letzten Syntaxfehler, ohne den Code erneut zu überprüfen, an.
[bearbeiten] Grafische Oberfläche
Wird die Datei "jasshelper.exe" verwendet, so erzeugt der JassHelper ein Fenster, in welchem alle gefundenen Syntaxfehler aufgelistet werden. Der Vorteil gegenüber der Konsolenausgabe ist die Möglichkeit, durch die gesamte Code-Datei scrollen zu können. Bei der Konsole dagegen, werden nur einige Zeilen vor und nach dem Feher mitausgegeben, was die Orientierung in einem großen Kartenskript sehr schwer macht. Mit dem JassNewGenPack kann der JassHelper über einen Menüeintrag automatisch aktiviert werden. Allerdings lassen sich damit nicht alle Konsolen-Optionen setzen und müssen manuell in die LUA-Code-Dateien eingetragen werden. Es gelten die selben Optionen wie bei der "clijasshelper.exe"-Datei.

