Die Programmiersprache AQL (Attribute Query Language) ist eine precompilierte Interpretersprache mit hoher Sprachmächtigkeit und Systemtiefe. AQL ist objektorientiert. Erweitert um CREATE-, EDIT- und DELETE-Funktionalität ist sie die Prozedursprache von EUKLID-Design und EUKLID-Design Classic.
AQL ermöglicht die spezifische Anpassung der CAD-Applikation. Die Bearbeitung des EUKLID-Design-Modells wird mit den EUKLID-Design-Funktionen vorgenommen.
AQL ist durch Makros, Automatisierung von Gestaltsvarianten, Einbinden von Fremdprogrammen und Animation vielseitig einsetzbar.
Die Sprache entspricht in ihren Grundzügen dem Aufbau anderer bekannter Programmiersprachen. Bei der Gestaltung der AQL-Sprache wurde der syntaktische Aufbau durch C angeregt, der Programmaufbau lehnt sich an Pascal an. Als interpretierte Sprachen dienten Lisp und Basic als Vorbilder und SQL als Abfragesprache.
Binden und Übersetzen der Programme ist nicht erforderlich.
Im Gegensatz zu den konventionellen Programmiersprachen kann AQL jedoch mit den Objekten des EUKLID-Design-Modells arbeiten, die nicht durch den AQL-Sprachprozessor verwaltet werden. Damit die Unabhängigkeit der Sprache von den Objekten gewährleistet ist, kennt AQL keine Typvereinbarung. Variable und Funktionsargumente werden nur mit ihrem Namen deklariert.
Da das System zur Laufzeit die entsprechenden Fehlermeldungen bei unzulässiger Kombination von Typen ausgibt, ist es nicht notwendig, Typkonflikte syntaktisch zu erfassen.
Verallgemeinert kann AQL als eine Sprache angesehen werden, die nur einen Typ kennt: das AQL-Symbol. Dieses Symbol kann ein beliebiges Objekt darstellen. Entweder einen der standardmäßig in AQL integrierten Typen "real", "integer", "string", "date", "group" (Gruppe von Symbolen) oder ein Objekt des EUKLID-Design-Modells mit dessen Datentypen.
Der AQL-Interpreter kann als Instrument zur Abfrage des EUKLID-Design-Modells und als Kommandosprache verwendet werden.
Beim Aufruf eines AQL-Programms wird der lesbare Code zunächst übersetzt und in Form einer Baumstruktur intern abgespeichert. Diese Baumstruktur repräsentiert alle Anweisungen und Ausdrücke des AQL-Programms. Bei der Ausführung wird nur noch auf diese Struktur zugegriffen, das Quellprogramm (source code) bleibt unberücksichtigt.
Dieses Verfahren der Vorübersetzung erhöht die Ausführungsgeschwindigkeit beträchtlich. Der Aufwand für die Vorübersetzung (ca. 700 Statements/Sekunde*mips) kann bei einer Ausführungsgeschwindigkeit von ca. 3000 Statements/Sekunde*mips vernachlässigt werden.
Um AQL-Programme vor unerwünschten Veränderungen zu schützen, besteht die Möglichkeit, verschlüsselte AQL-Programme auszuführen.
◀ AQL | Programmaufbau ▶ |