[Inhalt] [Zurück] [Weiter] [Thema] [Index]

Typen


AZUR ist streng typisiert. Jede Variable hat einen eindeutigen Typ, der sich nicht mehr ändert, nachdem er einmal festgelegt wurde. Jeder Ausdruck hat einen festen Typ, was der Grund für das Fehlen von Deklarationen außerhalb von Funktionsköpfen ist. Zu jedem Ausdruck wird der Typ berechnet. Dadurch steht der Typ einer Variablen automatisch fest, wenn ihr ein Ausdruck zugewiesen wird. Als Seiteneffekt wird dadurch auch gewährleistet, dass alle Variablen initialisiert sind, bevor sie benutzt werden.

Wird eine Prozedur oder eine Funktion aufgerufen, findet eine strenge Typüberprüfung statt. Die Anzahl der Parameter und deren Typ muss genau übereinstimmen. Eine Ausnahme davon bildet die Hauptprozedur AZUR, deren Parameter die Schnittstelle nach außen bilden.

Die Typüberprüfung, sowie das Anlegen aller Variablen findet vor dem Programmablauf beim Aufbau des Syntaxbaumes statt. Laufzeitfehler werden so auf ein Minimum reduziert.

Folgende Typen sind in AZUR definiert:

TypAbk. Beschreibung
RealR alle reellen Zahlen (umfasst damit REAL und INTEGER)
StringS beliebige Texte
BoolB nimmt die logischen Werte TRUE oder FALSE an
ZeitpunktZP ein beliebiger Zeitpunkt
DistanzZD eine Zeitdistanz, z.B. 4 Tage oder 1 Monat
IntervallZI ein Zeitintervall oder ein Realintervall
ZRZR eine Zeitreihe
ZRListZL eine Liste von Zeitreihen
TupelTU ein Tupel (Element einer Relation oder auch Menge von Komponenten)
RelationRL Relation im Sinne einer relationalen Datenbank
DatenbankDB Relationale Datenbank
AxBoxAX zur Anbindung von Graphik
GeoPointGP Koordinate X,Y
PagePG Eine Reportseite
QuantQ ein Stück Zeitreihe
QuantListQL eine Liste mit Quanten
PolygonPO eine Liste von Punkten und einige Attribute
LayerL eine Liste von Polygonen und einige Attribute
KarteK eine Liste von Layern und einige Attribute
ArrayA ein Feld, das Strings enthält und mit Strings indiziert wird (assoziatives Array)
ReportRP eine Liste von Pages
BaumBA ein Baum
RasterRS ein Raster (eine Matrix), z.B. Teil einer RasterDB
RasterDBRB eine Raster-Zeitreihen-Datenbank
GeoRangeGR ein rechteckiger Bereich



toposoft GmbH 26. Oktober 2022