Nächste Seite: Rückgabewerte Aufwärts: Der Symbol-Dekoder (m2decsym) Vorherige Seite: Der Symbol-Dekoder (m2decsym)

## Aufruf und Bedienung

> `m2decsym {? SymbolFile}`

Die Rückübersetzung von Symboldateien beschert allerdings auch einige unvermeidliche Unzulänglichkeiten, die jedoch hauptsächlich den verwendeten Stil betreffen.

Importe sind immer qualifiziert. Die Import-Anweisungen behandeln nur den Modulnamen, nicht die einzelnen Bezeichner. Diese Form ist in jedem Fall die allgemeinere, da sie beliebige Bezeichner -- insbesondere gleiche zweier Moduln -- zulässt.

Zeilenumbrüche werden grosszügig gesetzt. Dies vermeidet überlange Zeilen. Diese können vor allem in Zeiger- und Feld-Deklarationen auftreten, in denen keine Typnamen verwendet werden.

Natürlich ist die ursprüngliche Form einer Konstanten-Deklaration nicht mehr sichtbar. So sind Konstanten der Form

> `CONST const = const1 + const2;`

nur noch als normaler Wert sichtbar. Ebenfalls ist keine Information darüber enthalten, ob die Konstante in Dezimaler, Hexadezimaler oder Octaler Schreibweise deklariert wurde.

Sind keine Parameter-Namen in der Symboldatei vorhanden -- mittels Compileranweisung ,,`$NameChk:=FALSE``` -- sind die formalen Parameter mit `par0`, `par1` und so fort angegeben.

Einige gravierende Einschränkungen bestehen leider doch:

- Varianten-Records können nicht richtig abgebildet werden. Um dies aber wenigstens ,,von Hand`` korrigieren zu können, wird zu jedem Element der Offset vom `RECORD`-Beginn als Kommentar angehängt.

- Konstanten, deren Wert grösser als ist, werden immer als negative Konstanten dargestellt.

Eine fehlerlose Dekodierung erlaubt, die erzeugte Definition wieder zu übersetzen. Das macht im allgemeinen natürlich keinen Sinn, beweist aber deren Korrektheit.

Nächste Seite: Rückgabewerte Aufwärts: Der Symbol-Dekoder (m2decsym) Vorherige Seite: Der Symbol-Dekoder (m2decsym)