
\begin{table} 
\hbadness=100000
\vbadness=100000
\begin{sloppypar}
\begin{tabular}{|p{2cm}|*{5}{p{2.4cm}|}}
\hline 
\rule[-3mm]{0mm}{8mm}
{\sl Konzept} & \mbox{SUN-RPC} Language (C-Stil) & \mbox{DCE-IDL} (C-Stil) & 
\mbox{OMG-IDL} (C++-Stil)
& \mbox{ILU-ISL} (Modula-3-Stil) & GDL (TL- und C++-Stil) \\
\hline\hline
Schnittstelle & {\tt program} (Name und Version) & {\tt interface} (Name und
Attribute) & {\tt interface} (mehrere pro "Uber\-set\-zungs\-einheit) & {\tt INTERFACE}
(Name und Version) & {\tt gateway} (Interface- und Modulename) \\
\hline
Basistypen & wie in C, zus"atzlich {\tt string, bool, opaque} & wie in C,
zus"atzlich {\tt handle\_t, error\_status \_t, byte} & wie in C++, zus"atzlich {\tt
boolean, octet, any} & wie MODULA-3, zus"atzlich BYTE & C-Typen \\
\hline
Typ\-konstruk\-toren & wie in C, discriminated unions & wie in C, discriminated
unions, pipe & wie in C, discriminated unions, sequence & {\tt ARRAY, SEQUENCE,
RECORD, UNION, OPTIONAL, ENUMERATION, OBJECT (CLASS)} & {\tt enum, class, struct}\\
\hline
Konstanten & wie in C & wie in C & wie in C++ & numerische, Strings & 
numerische, Strings\\
\hline
Exceptions & --- & --- & $\surd$  & $\surd$ & ---\\
\hline
Operationen & C-Prototypen & C-Prototypen mit Funktions- und Parameter-Attributen
& C-Prototypen, optionales Attribut "'oneway"', {\tt raises}-Klausel,
Kontext-Ausdruck, Parameter-Attribute (in, out, inout) & Methoden von Objekttypen
(Modula-3-Prozeduren), {\tt RAISES}-Klausel, Attribute ({\tt FUNCTIONAL,
ASYNCHRONOUS}) & C++-Prototypen mit Einschr"an\-kun\-gen\\
\hline
Modularit"at & h"ochstens "uber Pr"aprozessor, un"ublich & textueller Import &
\#include-Anweisung (Pr"aprozessor) & qualifizierter Import & 
unqua\-li\-fi\-zier\-ter
Import (open) \\
\hline
Besonder\-heiten & --- & context-handles, pipes & Kontext-Ausdr"ucke & siblings,
Unterst"ut\-zung f"ur Garbage Collection & use-Klausel zur Benutzung  
TL-implemen\-tier\-ter Typen \\
\hline
\end{tabular}
\caption{\label{idl-table} Schnittstellen-Beschreibungssprachen}
\end{sloppypar}
\end{table}

