% PARTOF texte:da/tex/a_home.tex

\chapter{Grammatik der Konversationsspezifikationen}

An dieser Stelle ist die Grammatik f"ur die Konstruktion von
Konversationsspezifikationen dargestellt.
Die Notation ist aus der Darstellung der Programmiersprache {\sc Tl} in
\cite{Matt93} "ubernommen.

\begin{xple}
\begin{tabbing}
\hspace*{0.5cm}\=\hspace{1cm}\=\hspace{0.5cm}\=\hspace{0.5cm}\=\hspace{0.5cm}
\=\hspace{0.5cm}\=\kill
\>Conversation ::=\\
\>\>{\k CONV} ConvIdentifier {\k WITH} InitialDialog \{ Dialog \} {\k END};\\
\>IntialDialog ::=\\
\>\>Dialog;\\
\>Dialog ::= \\
\>\>{\k DIALOG} DialogIdentifier {\k WITH} \{ Request \} $\lbrack$
Content  $\rbrack$
 {\k END};\\
\>Request ::=\\
\>\>{\k REQUEST} RequestIdentifier {\k TO} DialogIdentifier \{ DialogIentifier \} \\
\>\>( {\k ELLIPSES} $\mid$ {\k NOELLIPSES} ) {\k END};\\
\>Content ::=\\
\>\>{\k CONTENT} NamedContent \{ NamedContent \} {\k END};\\
\>NamedContent ::=\\
\>\>ContentIdentifier {\k OF} Type;\\
\>Type ::=\\
\>\>BasicType $\mid$ CompoundType;\\
\>BasicType ::=\\
\>\>{\k INT} $\mid$ {\k REAL} $\mid$ {\k STRING} $\mid$ {\k DATE} $\mid$ {\k SPEC};\\
\>CompoundType ::= \\
\>\>{\k REC} NamedContent \{ NamedContent \} {\k END} $\mid$\\
\>\>{\k VARIANT} NamedContent \{ NamedContent \} {\k END} $\mid$\\
\>\>{\k MCHOICE OF} Type $\mid$\\
\>\>{\k SCHOICE OF} Type $\mid$\\
\>\>{\k SEQ OF} Type;\\
\>ConvIdentifier ::=\\
\>\>identifier;\\
\>DialogIdentifier ::=\\
\>\>identifier;\\
\>ContentIdentifier ::=\\
\>\>identifier;\\
\end{tabbing}
\end{xple}
\label{Spec-Grammar}

