13.07.2015 Aufrufe

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

Diplomarbeit Ein Compiler f¨ur eine ... - Patrick Koehne

MEHR ANZEIGEN
WENIGER ANZEIGEN

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

7.2. DER SPEZIFIKATIONSTEIL 397.2.3 PointerdefinitionBei der Pointerdefinition wird wie gewohnt <strong>eine</strong> Pointervariable deklariert, die auf <strong>eine</strong> Klasse, <strong>eine</strong>Liste oder <strong>eine</strong>n weiteren Pointer zeigen darf - nicht aber auf ein Attribut. Die Definition sieht wiefolgt aus:POINTER Ppatient TO PatientDer <strong>Compiler</strong> wird darauf folgendermaßen reagieren:PCPointerType CS_Angio_Ppatient =new CPointerType (CS_Angio, CS_Angio_Patient);7.2.4 ListendefinitionDie letzte Definitionsmöglichkeit innerhalb <strong>eine</strong>s Schemas ist die Listendefinition. Auch hier ist dasSprachkonstrukt sehr einfach aufgebaut. Es wird ein Listenname definiert und der Typ der Listenelementeangegeben:LIST Cpatient OF Ppatient<strong>Ein</strong>e entsprechende Ausgabe des <strong>Compiler</strong> lautet wie folgt:PCCollectionType CS_Angio_Cpatient =new CCollectionType (CS_Angio,CS_Angio_Ppatient);Die oben beschriebene Klassendefinition bildet <strong>eine</strong> weitere Blockumgebung, in welcher nun Attributedefiniert werden können. Im direkten Anschluß an <strong>eine</strong> Klasse können wahlweise sogenannteInvers-Attribute definiert werden.7.2.5 AttributdefinitionenDie Attributdefinitionen werden aus dem Typ und dem Attributnamen zusammengesetzt. Als Typensind in der Sprache STRING, CHAR, INTEGER, LONG, REAL, BOOLEAN, TIME und DATEvorgesehen. Die Typangaben müssen wie angegeben groß geschrieben werden. <strong>Ein</strong> Beispiel für <strong>eine</strong>solche Attributdefinition sieht demnach folgendermaßen aus:STRING NameDer <strong>Compiler</strong> muß darauf mit folgender Ausgabe reagieren:PCAttribute CS_Angio_Patient_Name =new Cattribute ("Name",CS_Angio->GetType ("STRING"),CS_Angio_Patient);Auch hier kann man ersehen, daß der letztendlich vergebene Variablenname sich aus dem Schematyp,dem Schemanamen und dem Klassennamen zusammensetzt, in dem das Attribut definiert ist.

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!