coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
flow controlloopsext. connection
IF…THEN GOTO GOSUB…RETURN END/EXIT BREAKPOINT
Ablauf
Als nicht objektorientierte Sprache ist bei GDL v.a. der lineare Ablauf der Skripte deutlich. Zur besseren Strukturierung der Programme und um Programmteile nur dann auszuführen, wenn bestimmte Situationen vorliegen gibt es die Befehle zur Programmablaufsteuerung.
Sprungmarken
Befehle, die den Programmablauf verspringen lassen (GOTO,GOSUB) brauchen eine Markierung der Zielpunkte, an denen die Programmausführung fortgesetzt werden soll.
Wir unterscheiden hier in der Notation zwischen sprungziel, der Angabe im Verzweigungsbefehl, wo die Ausführung fortgesetzt werden soll, und sprungmarke, der Markierung im Scripttext selbst.

Bis ArchiCAD® 9 ist die sprungmarke in dem Programmablauf eine eindeutige Ziffer am Beginn einer Zeile, gefolgt von einem Doppelpunkt. Ab ArchiCAD® 10 können auch Texte (in Anführungszeichen), gefolgt von dem Doppelpunkt als Sprungmarken verwendet werden.

Zu beachten ist, dass das Master Skript stets vor den anderen Skripten abgearbeitet wird. Die Sprungmarken im Masterskript müssen also immer von denen aller anderen Skripte abweichen.

Die Schrittweite und Reihenfolge der Sprungmarken ist unwichtig. Die Eindeutigkeit muss gewährleistet sein. Auch muss es sich um eine Ziffernfolge oder since ArchiCAD® 10 um einen Klartext handeln. Eine Variable oder ein Ausdruck für die Definition der Sprungmarke selbst sind nicht erlaubt. (Wohl aber für Verzweigungsbefehle dorthin.)
Sprungziele
Als Parameter im Verzweigungsbefehl können die Sprungziele neben Klartext und expliziten Zahlenwerten auch Variablen verwendet werden. Dies ist aber, wenn möglich zu vermeiden, da der Programmcode für diese Bereiche erst zur Laufzeit des Skripts interpretiert und nicht beim Sichern des Objektes vorkompiliert werden kann. Dieser interne Umstand drückt dann etwas auf die Abarbeitungsgeschwindigkeit des Objektes im Projekt.