
\section{Der Referenz-Dekoder ({\tt m2decref\/})}

\subsection{Aufruf und Bedienung}

\begin{quote}\tt
m2decref \{? {\cmsltt ReferenceFile\/}\}
\end{quote}

Das Programm {\tt m2decref} 
sorgt f"ur die lesbare Darstellung von Referenzdateien.
Referenzdateien beinhalten Information in sehr gepackter Form. Die
dekodierten Daten sind so auch f"ur den Benutzer nur schwierig
lesbar.

Die Information in der Referenzdatei ist zusammen mit dem Quelltext
f"ur den Benutzer weitaus wichtiger. Als Hauptanwendung sei der
Debugger angesprochen. Der Debugger kennt zun"achst nur die Daten
des ablaufenden Programms, also Register, Stack, Prozesskontext.
Erst die Referenzdatei erm"oglicht die Positionierung innerhalb
des Quelltexts. Dieser endlich beinhaltet die Information so,
wie wir sie gerne h"atten.

Zu beachten ist, dass im "ubrigen die Symboldatei auch eine
Referenzdatei ist, also intern sich des gleichen Formats
bedient. F"ur all die F"alle, bei denen {\tt m2decsym} aus irgendwelchen
Gr"unden nicht anwendbar ist, kann also {\tt m2decref} auch f"ur
Symboldateien verwendet werden. Die Ausgabe ist dann weniger
luxuri"os und in der Form weit von einem Definitionsmodul
entfernt.


\subsection{R\protect"uckgabewerte}

\begin{ttscript}{rcImportantNotFound}
\item[rcIllOpt]
  Eine ung"ultige Option wurde "ubergeben.
\item[rcActionErr]
   Bei der Dekodierung ist ein Fehler aufgetreten.
\item[rcMainNotFound]
   Die Referenzdatei wurde nicht gefunden.
\end{ttscript}

Zur Verwendung der R"uckgabewerte schlage man unter \ref{RetVal} nach.
