24.08.2013 Aufrufe

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

Download - FESG - Technische Universität München

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.

5.3 SPRACHDESIGN: ANYTHING TO XML (A2X) 143<br />

Abbildung 5.5: Der Definitionsteil<br />

Ein weiterer, nützlicher Bestandteil des Definitionsteils ist die Angabe von ei- Zusätzliche Angabe einer Typräpresentation<br />

genen Typrepräsentationen (). Da mit A2X beliebige Dokumente eingelesen<br />

werden können, so z.B. auch binäre Darstellungen, welche sich von Plattform<br />

zu Plattform unterscheiden können, ist hier eine rudimentäre Möglichkeit geschaffen,<br />

Bit- und Bytemanipulationen durchzuführen und direkt einen plattformspezifischen<br />

Kontext (Anzahl der Bytes für bestimmte Typen etc.) zu wählen.<br />

A2X-Datentype Äquivalenter C/C++-Datentyp<br />

ushort unsigned short<br />

(kurze Ganzzahl, vorzeichenlos)<br />

uint unsigned int<br />

(allgemeine Ganzzahl, vorzeichenlos)<br />

ulong unsigned long<br />

(lange Ganzzahl, vorzeichenlos)<br />

short short<br />

(kurze Ganzzahl, vorzeichenbehaftet)<br />

int int<br />

(allgemeine Ganzzahl, vorzeichenbehaftet)<br />

long long<br />

(lange Ganzzahl, vorzeichenbehaftet)<br />

float float<br />

(kurze Gleitpunktzahl)<br />

double double<br />

(lange Gleitpunktzahl)<br />

char char<br />

(ein Zeichen)<br />

string std::string<br />

Container für Zeichenketten<br />

Tabelle 5.1: Basisdatentypen in A2X<br />

Jede Repräsentation ist in den Parameterangaben eindeutig bezeichnet (Restriktion:<br />

Name beginnt mit „REP“) und kann auf eine Internetadresse mit einem<br />

kompletten Satz an Repräsentationsinformationen verweisen. In einer solchen Repräsentation<br />

wird für beliebige Basistypen die genutzte Darstellung mit entsprechenden<br />

Manipulationen () beschrieben. Die Attribute legen dabei<br />

generelle Kontextanforderungen fest (Byteanzahl und Reihenfolge des Quelltyps<br />

und des Zieltyps). Werden sie nicht angegeben, wird der Darstellungstyp der wandelnden<br />

Plattform genutzt. Eine Manipulation enthält nur noch eine Reihe von Umtauschanweisungen<br />

(), welche ein angegebenes Quellbit eines bestimmten<br />

Quellbytes in ein Zielbit eines Zielbytes verschiebt. Dabei handelt es sich nicht<br />

um eine Folge von aufeinander aufbauenden Befehlen (d.h., ein Bit könnte mehrfach<br />

verschoben werden, bis es wieder am Ausgangspunkt landet).

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!