Programmaufbau
Grundsätzlich ist ein
Programmodul folgendermaßen aufgebaut:
MODULE <Modulname>;
<Importliste>
<Block>
END <Modulname>.
Die Importliste besteht aus Einträgen folgender Arten:
- FROM <Klasse> IMPORT <Name>, <Name> ... ;
- IMPORT <Klasse>;
Im ersten Fall werden aus der Schnittstelle
der Klasse einzelne <Namen> zur lokalen Verwendung bereitgestellt,
im zweiten Fall alle dort definierten Namen ohne Einzelangabe.
Im zweiten Fall können sie aber nur in der Form
<Klasse>.<Name> als qualifizierter Name
angesprochen werden; anderenfalls gäbe es zu viele
unbeabsichtigte Kollisionen mit lokal eingeführten Bezeichnern.
Der Block besteht aus Vereinbarungen
und Anweisungen.
Durch Vereinbarungen werden neue lokale
Bezeichner für Objekte
unterschiedlicher Art eingeführt:
Die Anweisungen des Blockes im Hauptprogramm werden ausgeführt,
sobald seine Ablaufumgebung zur Verfügung steht
(dazu gehören auch die Importe,
deren Module initialisiert sein müssen).
Für ein Implementierungsmodul
sieht es im Grunde ebenso aus;
jedoch kommen die Vereinbarung aus seinem
Definitionsmodul noch implizit dazu.
Sein Block wird ausgeführt,
sobald alle seine Importe zur Verfügung stehen,
aber vor dem Block des Hauptprogramms.
Es ist Sache des Binders, eine geeignete Initialisierungsreihenfolge
bei mehreren Moduln herauszufinden.
zurück |
Inhalt | Index |
vor |
Vorlesung
Klaus Lagally, 22. Februar 2000, 19:36