StructorizerHandbuch DE

Code-Generator / Code-Vorschau

Structorizer ermöglicht es, den entworfenen Algorithmus in verschiedene Programmiersprachen zu konvertieren (darunter Pascal/Delphi, Java, C, C++, C#, BASIC, Python sowie einige Skript- und Shellsprachen) sowie in verschiedene LaTeX- und Flussdiagramm-Formate.

Hinweis: Alle interaktiven Code-Exportmöglichkeiten (einschließlich der Live-Code-Vorschau) werden deaktiviert (und fehlen sogar in der Benutzeroberfläche), wenn eine zentrale übergeordnete ini-Datei verwendet wird, die die Zeile noExportImport=1 enthält (ab Version 3.30-11). Diese Zeile kann nur manuell eingefügt werden; ihre Position ist dabei nicht relevant.

Code-Export in Dateien

Um Quelldateien zu erzeugen, wählen Sie den entsprechenden Menüeintrag im Untermenü „File › Export › Code" (Datei › Export › Code). Weitere Details finden Sie unter Export Code sowie mögliche Generatorkonfigurationsoptionen unter Export Options (Exportoptionen).

In den meisten Fällen darf man jedoch keinen fehlerfreien und sofort kompilierbaren oder ausführbaren Code erwarten. Dies wäre auch nicht machbar, da ein (mehr oder weniger syntaxfreies) Nassi-Shneiderman-Diagramm in der Regel nicht alle Details angeben wird, die eine bestimmte Sprache erfordern könnte.

Was man jedoch erhält, ist ein nahezu korrektes algorithmisches Grundgerüst, das manuell ein wenig nachbearbeitet werden muss, um ein funktionierendes Programm oder eine funktionierende Routine zu erhalten. Typischerweise müssen beispielsweise Variablendeklarationen ergänzt werden. Oder bestimmte algorithmische Konstrukte wie exit-Sprünge (Jumps) oder PARALLEL-Abschnitte werden von der Zielsprache möglicherweise nicht unterstützt. Im exportierten Code platzierte „TODO"-Kommentare helfen Anfängern zu erkennen, was noch zu tun ist. Trotz dieser Unvollständigkeit hilft der Code-Export Programmieranfängern bereits erheblich. Und selbst erfahrene Entwickler, die ihre Algorithmen dokumentieren möchten, ersparen sich viel Doppelarbeit, wenn sie mit Structorizer beginnen und den entworfenen Algorithmus anschließend nur noch exportieren und anpassen.

Bitte beachten Sie, dass für einige Sprachen eine Vielzahl von Dialekten existiert. Es ist daher nicht unwahrscheinlich, dass der erzeugte Code mit einem System funktioniert, mit einem anderen jedoch Fehler verursacht. (Wenn Sie jedoch der Ansicht sind, dass der exportierte Code einem zu exotischen Dialekt bedient und durch eine kompatiblere Ausgabe ersetzt werden sollte, wenden Sie sich bitte an das Structorizer-Team und erstellen Sie ein Issue – idealerweise mit einem Verweis auf die entsprechende Sprachspezifikation oder -dokumentation. Möglicherweise werden einige zusätzliche Exportoptionen eingeführt, um divergierenden Anforderungen gerecht zu werden.)

Live-Code-Vorschau

Seit Release 3.30 können Sie die Auswirkungen Ihrer Diagrammbearbeitung direkt im Code beobachten, der in Ihre bevorzugte Programmiersprache exportiert werden würde.

Die Code-Vorschau wird über den Menüeintrag „View › Show Code preview?" (Ansicht › Code-Vorschau anzeigen?) aktiviert (in Versionen ≤ 3.32-13: „Diagram › Show Code preview?"):

Der neue Menüpunkt „Show code preview
Der neue Menüpunkt „Show code preview" im View-Menü

Die Code-Vorschau teilt sich einen Tab-Bereich mit dem Arranger-Index im rechten Teil des Structorizer-Hauptfensters:

Code-Vorschau (Release 3.30)
Code-Vorschau (Release 3.30)

Die Zielsprache der Code-Vorschau ist diejenige, die als „Favorite Code Export" (Bevorzugter Code-Export) in den Exportoptionen konfiguriert wurde:

Exportoptionen-Dialog mit „Favorite Code Export
Exportoptionen-Dialog mit „Favorite Code Export"

(Wie unter Export Options beschrieben, bestimmt diese Einstellung auch den Menüpunkt „File › Export as ...".)

Der Inhalt der Code-Vorschau wird bei jeder Änderung am Diagramm aktualisiert. Sobald Sie ein Element oder einen Bereich von Elementen im Diagramm auswählen, werden die entsprechenden Code-Passagen (Zeilenbereiche) gleichzeitig hervorgehoben und dorthin gescrollt.

Umgekehrt: Wenn Sie auf eine Code-Zeile im Vorschaufenster klicken, wird das entsprechende Element im Diagramm ausgewählt und der gesamte davon abgeleitete Code-Zeilenbereich hervorgehoben. Ein Doppelklick in der Code-Vorschau öffnet sogar den Editor für das zugehörige Element.

Text kann in der Code-Vorschau selbst jedoch nicht eingegeben oder geändert werden.

(Bei bestimmten Exportsprachen entsprechen manche Elemente, wie etwa reine Deklarationen, möglicherweise keiner zusammenhängenden Folge von Zeilen im exportierten Code, oder die Einführung einer Variable kann in Sprachen wie Pascal oder reinem C Deklarationen oder Initialisierungen an unterschiedlichen Stellen erfordern. In diesen Fällen kann die gleichzeitige Hervorhebung fehlschlagen oder sich nur auf die nächsten resultierenden Zeilen beziehen.)

Das Kontextmenü in der Code-Vorschau ermöglicht es, die bevorzugte Exportsprache einfach zu wechseln, ohne den Dialog Export Options öffnen zu müssen (dieser wird natürlich synchronisiert). Außerdem können Sie den Code-Export bequem von hier aus starten und die Code-Vorschau deaktivieren:

Popup-Menü in der Code-Vorschau
Popup-Menü in der Code-Vorschau

Wenn die Code-Vorschau aktiviert ist, während Sie Ihr Diagramm mit dem Executor debuggen, wandert die orangefarbene Ausführungshervorhebung gleichzeitig durch die Code-Vorschau:

Code-Vorschau während des Debuggens
Code-Vorschau während des Debuggens

(Um die Ausführung geringfügig zu beschleunigen – insbesondere bei minimaler Verzögerung – empfiehlt es sich, sowohl die Code-Vorschau als auch den Arranger-Index während der Ausführung auszublenden.)