-
  • EUKLID-Design
  • EUKLID-Design Classic
  • Dokumentation
  • Download
  • +49-991-2806945-0
  • info@eucad-software.de
AQL Einführung
Eigenschaften Programmaufbau Programmausführung Programmabbruch
Programmiersprache Kommandosprache Vordefinierte
Funktionen
Datenstruktur Beispielprogramme Syntaxdiagramme

AQL - offene Architektur

Eigenschaften von AQL

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.

AQL bietet

  • alle gängigen Kontrollstrukturen wie "if...then...else" für eine bedingte Verzweigung, "switch...case..." für Fallunterscheidungen und "for.." für Schleifen
  • alle gängigen Operatoren und Funktionen, z.B. +, -, /, *, **, min( ), sin( ), cos( ), tan( )
  • dynamische Datentypen wie "real", "integer", "boolean", "string", "date", "group"
  • automatische Variablen
  • eine weitreichende Modellabfrage (Query).
  • vollständige Einbindung in Bedienoberfläche und Systemarchitektur durch UDAs

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.

  • Die Abfrage stützt sich auf die Eigenschaft, daß alle EUKLID-Design-Objekte benannte Attribute besitzen. Die Attribute können in einem Selektionsausdruck verwendet werden. Mit Hilfe von Selektionsausdrücken werden solche Objekte einer beliebigen Gruppe erfaßt, die z.B. einer bestimmten Bedingung ("where"-Klausel) genügen.
  • Makros, z.B. die das EUKLID-Design-Modell erweitern, verändern o. ä., können als AQL-Programme implementiert 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 ▶


Kontakt Impressum Datenschutz