% -*- coding: utf-8; -*-

\lecturewithid{syntax-versus-semantik}{Syntax versus Semantik}{Text und seine Bedeutung}

\begin{body}

\begin{frame}
  \maketitle
\end{frame}


\begin{learning targets}
\item Die Begriffe Syntax und Semantik erklären können
\item Syntaktische und semantische Elemente natürlicher Sprachen und
  von Programmiersprachen benennen können
\item Die Begriffe Alphabet und Wort kennen
\item Objekte als Wörter kodieren können
\end{learning targets}


\mode<article>

\begin{lecture notes intro}
  \includegraphicscopyrightborder[width=3.5cm]{\bodydir/bilder/message1-pd.png}{Public domain}
  \includegraphicscopyrightborder[width=3.5cm]{\bodydir/bilder/message2-pd.png}{Public domain}
  \includegraphicscopyrightborder[width=3.5cm]{\bodydir/bilder/message3-pd.png}{Public domain}
  Am Rand sehen Sie die ersten Tafeln einer außerirdischen Nachricht.
  Ja, Sie haben richtig gelesen, einer \emph{außerirdische
  Nachricht}. Allerdings nicht \emph{von} Außerirdischen, sondern
  \emph{an} Außerirdische. Diese Nachricht wird seit 1999 verschickt
  in der Hoffnung, dass Außerirdische sie lesen, verstehen und
  antworten.  Die Kommunikation mit Außerirdischen, die noch nicht
  auf der Erde vorbeigeschaut haben, ist etwas kniffelig,
  denn schließlich wird man nicht annehmen können, dass diese, sagen
  wir, Englisch oder \textsc{xml} sprechen. Deshalb hat man die Tafeln
  so angelegt, dass sie völlig selbsterklärend sind –
  zumindest für einigermaßen gebildete Lebensformen, die einen soliden
  mathematisch-naturwissenschaftlichen Unterricht der Sekundarstufe II
  genossen haben.

  Als kleiner Test, ob Außerirdische die Nachricht verstehen
  werden, stellen Sie sich bitte kurz vor, Sie seien ein Außerirdischer
  und erhielten diese Nachricht. (Sollten Sie sich sowieso generell
  für einen Außerirdischen halten, um so besser.) Was könnten die
  Menschen mit dem Text gemeint haben?

  Zunächst fällt ins Auge (sollten Sie ein Auge besitzen), dass der Text
  irgendwie strukturiert ist. Da gibt es Ansammlungen von schwarzen
  Punkten und große Flächen von weißen Punkten. Nennen wir die
  Ansammlungen von schwarzen Punkten doch vorübergehend
  »Symbole«. Diese Symbole scheinen grob in einem Raster angeordnet zu
  sein, jedenfalls nicht völlig zufällig. Auch fällt auf, dass sich
  manche Symbole wiederholen und dass manche zu größeren Gruppen,
  nennen wir doch »Zeilen«, gruppiert sind.

  Solche Beobachtungen sind \emph{syntaktischer} Natur, wir haben
  etwas über die \emph{Syntax} herausgefunden, die von den Absendern
  der Nachricht benutzt wurde. Das heißt noch nicht, dass wir die
  \emph{Semantik}, also die \emph{Bedeutung}, der Nachricht bereits
  erkannt haben.
  \clearpage

  \includegraphicscopyrightborder[width=3.5cm]{\bodydir/bilder/message4-pd.png}{Public domain}
  \includegraphicscopyrightborder[width=3.5cm]{\bodydir/bilder/message5-pd.png}{Public domain}
  Um etwas über die Bedeutung herauszufinden, müssen Sie kreativ
  werden. In der ersten Tafel fällt auf, dass im oberen Teil
  Ansammlungen von dicken Punkten in der Nähe von bestimmten Symbolen
  stehen. Nehmen wir vorübergehend an, dass diese Symbole Abkürzungen
  für die \emph{Anzahlen} der Punkte sind. Diese These über die
  \emph{Semantik} der Symbole hält dann auch einer eingehenderen
  Betrachtung statt. 
  
  Wer genügend Science-Fiction-Romane gelesen hat, weiß natürlich,
  dass bei Nachrichten an Außerirdische früher oder später Primzahlen
  ins Spiel kommen. Und tatsächlich, im unteren Teil der ersten Tafel
  finden sich nacheinander die Zahlen 2, 3, 5, 7, 11, 13 und so
  weiter. Am Ende der ersten Tafel findet sich dann noch 2 gefolgt
  etwas höher stehend 3021377 gefolgt von einem neuen, unbekannten
  Symbol, gefolgt von einer~1. Wenn Sie es nicht schon erkannt haben,
  dann können Sie ja mal über die Semantik der syntaktischen
  Konstrukte »etwas höher stehend« und dem neuen, unbekannten Symbol
  nachdenken.

  Kehren Sie nun bitte auf die Erde zurück. In diesem Kapitel soll der
  Unterschied zwischen Syntax und Semantik an etwas bodenständigeren
  Beispielen aus der Informatik und der Logik herausgearbeitet werden;
  jedoch werden Sie sehen, dass das Prinzip genau dasselbe wie bei der
  Nachricht an die Außerirdischen ist: Die Syntax regelt, was man
  alles prinzipiell hinschreiben darf, die Semantik regelt, was das
  dann bedeutet.
\end{lecture notes intro}
\mode
<all>

\section{Was ist Syntax?}


\begin{frame}{Die zwei Hauptbegriffe der heutigen Vorlesung.}
  \begin{block}{Grobe Definition}
    Unter einer \alert{Syntax} verstehen wir \alert{Regeln} nach denen
    Texte \alert{strukturiert} werden (Grammatik). 
  \end{block}
  \begin{block}{Grobe Definition}
    Unter einer \alert{Semantik} verstehen wir die Zuordnung von
    \alert{Bedeutung} zu Texten.
  \end{block}
\end{frame}


\subsection[Syntax natürlicher~Sprachen]{Syntax natürlicher Sprachen}

\newdimen\picturewidth
\alt<article>{\picturewidth=4cm}{\picturewidth=6cm}
\usetikzlibrary{animations}
\begin{frame}{Beobachtungen zu einem ägyptischen Text.}
  
  \tikz \node [animate={begin on=mouse over, opacity=1...0.5...1, 1s,
    repeats, end on=mouse out}] {
  \includegraphicscopyrightborder[width=\picturewidth]{\bodydir/bilder/hieroglyphes-gfdl-Guillaume-Blanchard.jpg}
  {Copyright by Guillaume Blanchard, GNU Free Documentation License}};

  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Wir haben keine Ahnung, was der Text bedeutet.
    \item Es gibt aber \alert{Regeln}, die offenbar eingehalten wurden,
      wie »Hieroglyphen stehen in Zeilen«.
    \item Solche Regeln sind \alert{syntaktische Regeln} – man kann sie
      überprüfen, ohne den Inhalt zu verstehen.
    \end{presentation itemize}
  \end{block}
\end{frame}

\begin{frame}{Beobachtungen zu einem kyrillischen Text.}

  \includegraphicscopyrightborder[width=\picturewidth]{\bodydir/bilder/inscription2-gfdl-Cristian-Chirita.jpg}
  {Copyright by Cristian Chirita, GNU Free Documentation License}

  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Wir haben wieder keine Ahnung, was der Text bedeutet.
    \item Es gibt aber \alert{Regeln}, die offenbar eingehalten
      wurden, und
    \item wir kennen mehr Regeln als bei den Hieroglyphen.
    \end{presentation itemize}
  \end{block}

  \begin{discussion}[lines=4]
    Welche syntaktischen Regeln fallen Ihnen ein, die bei dem Text
    eingehalten wurden?
  \end{discussion}
\end{frame}



\begin{frame}{Beobachtungen zu einem deutschen Text.}
  \begin{quotation}
    Informatiker lieben Logiker.
  \end{quotation}

  \only<presentation>{\bigskip}
  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Auch hier werden viele syntaktische Regeln eingehalten.
    \item Es fällt uns aber \alert{schwerer}, diese zu erkennen.
    \item Der Grund ist, dass wir \alert{sofort über die Bedeutung
        nachdenken}. 
    \end{presentation itemize}
  \end{block}
\end{frame}

\begin{frame}{Zur Syntax von natürlichen Sprachen.}
  \begin{presentation itemize}
  \item 
    Die \alert{Syntax} einer natürlichen Sprache ist die Menge an
    \alert{Regeln}, nach denen Sätze gebildet werden dürfen. 
  \item 
    Die \alert{Bedeutung} oder der \alert{Sinn} der gebildeten Sätze
    ist dabei unerheblich.
  \item
    Jede Sprache hat ihre eigene Syntax; die Syntax verschiedener
    Sprachen ähneln sich aber oft.
  \item
    Dabei ist es nicht immer klar, ob eine Regel noch zur Syntax gehört
    oder ob es schon um den Sinn geht.

    \ExampleInline{Substantive werden groß geschrieben.}
  \end{presentation itemize}
\end{frame}

\subsection{Syntax von Programmiersprachen}

\begin{frame}[fragile]{Beobachtungen zu einem Programmtext.}

\begin{lstlisting}[language=TeX,escapechar=]
\def\pgfpointadd#1#2{%
  \pgf@process{#1}%
  \pgf@xa=\pgf@x%
  \pgf@ya=\pgf@y%
  \pgf@process{#2}%
  \advance\pgf@x by\pgf@xa%
  \advance\pgf@y by\pgf@ya}
\end{lstlisting}
  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Der Programmtext sieht sehr kryptisch aus.
    \item Trotzdem gibt es offenbar wieder Regeln.
    \item So scheint einem Doppelkreuz eine Ziffer zu folgen und
      Zeilen muss man offenbar mit Prozentzeichen beenden.
    \end{presentation itemize}
  \end{block}
\end{frame}


\begin{frame}[fragile]{Beobachtungen zu einem weiteren Programmtext.}
  
\begin{lstlisting}[language=Java]
for (int i = 0; i < 100; i++)
  a[i] = a[i];
\end{lstlisting}
  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Wieder gibt es Regeln, die eingehalten werden, 
    \item und wieder fällt es uns \alert{schwerer}, diese zu erkennen, da
      wir \alert{sofort über den Sinn nachdenken}.
    \end{presentation itemize}
  \end{block}
\end{frame}


\begin{frame}{Zur Syntax von Programmiersprachen}
  \begin{presentation itemize}
  \item Die \alert{Syntax} einer Programmiersprache ist die
    \alert{Menge von Regeln} nach der Programmtexte gebildet werden 
    dürfen.
  \item Die \alert{Bedeutung} oder der \alert{Sinn} der Programmtexte
    ist dabei egal.
  \item
    Jede Programmiersprache hat ihre eigene Syntax; die Syntax
    verschiedener Sprachen ähneln sich aber oft.
  \end{presentation itemize}  
\end{frame}

\begin{exercise frame}[lines=5]
  Welche der folgenden Regeln sind Syntax-Regeln?
  \begin{enumerate}
  \item Bezeichner dürfen nicht mit einer Ziffer anfangen.
  \item Programme müssen in endlicher Zeit ein Ergebnis produzieren.
  \item Öffnende und schließende geschweifte Klammern  müssen
    »balanciert« sein. 
  \item Methoden von Null-Objekten dürfen nicht aufgerufen werden.
  \item Variablen müssen vor ihrer ersten Benutzung deklariert werden.
  \end{enumerate}  
\end{exercise frame}


\subsection[Syntax logischer~Sprachen]{Syntax logischer Sprachen}

\begin{frame}{Beobachtungen zu einer logischen Formel.}
  \begin{quotation}
    $p \to q \land \neg q$
  \end{quotation}

  \bigskip
  \begin{block}{Beobachtungen}
    \begin{presentation itemize}
    \item Auch logische Formeln haben eine syntaktische Struktur.
    \item So wäre es \alert{syntaktisch falsch,} statt einem Pfeil zwei
      Pfeile zu benutzen.
    \item Es wäre aber \alert{syntaktisch richtig,} statt einem
      Negationszeichen zwei Negationszeichen zu verwenden.
    \end{presentation itemize}
  \end{block}
\end{frame}

\begin{frame}{Zur Syntax von logischen Sprachen}
  \begin{presentation itemize}
  \item Die \alert{Syntax} einer logischen Sprache ist die
    \alert{Menge von Regeln,} nach der Formeln gebildet werden 
    dürfen.
  \item Die \alert{Bedeutung} oder der \alert{Sinn} der Formeln
    ist dabei egal.
  \item
    Jede logische Sprache hat ihre eigene Syntax; die Syntax
    verschiedener Sprachen ähneln sich aber oft.
  \end{presentation itemize}  
\end{frame}



\section{Was ist Semantik?}

\subsection[Semantik natürlicher~Sprachen]{Semantik natürlicher Sprachen}

\begin{frame}{Was bedeutet ein Satz?}

  \begin{quotation}
    Steter Tropfen höhlt den Stein.
  \end{quotation}

  \only<presentation>{\bigskip}
  \begin{presentation itemize}
  \item Dieser Satz hat eine \alert{Bedeutung}, die eine \alert{Semantik} festlegt.
  \item Ein Satz kann dabei \alert{mehrere Bedeutungen haben}, welche
    durch \alert{unterschiedliche Semantiken} gegeben sind:
    \begin{itemize}
    \item In der \alert{wortwörtlichen Semantik} sagt der Satz aus, dass
      Steine ausgehöhlt werden, wenn man jahrelang Wasser auf
      sie tropft.
    \item In der \alert{übertragenen Semantik} sagt der Satz aus, dass
      sich Beharrlichkeit auszahlt.
    \end{itemize}
  \item Syntaktisch falschen Sätzen wird im Allgemeinen keine
    Bedeutung zugewiesen.
  \end{presentation itemize}
\end{frame}

\begin{frame}{Die Semantik der Hieroglyphen}
  \includegraphicscopyrightborderautowidth[width=6cm]{\bodydir/bilder/rosetta-pd.jpg}
  {Unknown author, public domain.}

  Dreimal eine unterschiedliche Syntax – eine Semantik.
\end{frame}


\subsection{Semantik von Programmiersprachen}

\begin{frame}[fragile]{Was bedeutet ein Programm?}
\begin{lstlisting}[language=Java]
for (int i = 0; i < 100; i++)
  a[i] = a[i];
\end{lstlisting}
  \begin{presentation itemize}
  \item Auch dieser Programmtext »bedeutet etwas«, wir »meinen etwas«
    mit diesem Text.
  \item Die \alert{Semantik der Programmiersprache} legt fest,
    was mit dem Programmtext gemeint ist.
  \item Er kann \alert{mehrere Bedeutungen haben},
    welche durch \alert{unterschiedliche Semantiken} gegeben sind:
    \begin{itemize}
    \item In der \alert{operationalen Semantik} bedeutet der
      Programmtext, dass die ersten einhundert Elemente eines Arrays
      \verb!a! nacheinander ihren eigenen Wert zugewiesen bekommen.
    \item In der \alert{denotationellen Semantik} bedeutet der
      Programmtext, dass nichts passiert.
    \end{itemize}
  \end{presentation itemize}
\end{frame}




\section{Grundlage der Syntax: Text}

\begin{frame}{Eine mathematische Sicht auf Text.}
  \begin{presentation itemize}
  \item Viele (aber nicht alle!) syntaktische Systeme bauen auf
    \alert{Text} auf.
  \item Sogar solche Systeme, die nicht auf Text aufbauen, lassen sich
    trotzdem durch Text beschreiben. 
  \item Deshalb ist es nützlich, auf Text \text{Methoden der
      Mathematik} anwenden zu können.
  \item Im Folgenden wird deshalb die \alert{mathematische Sicht} auf
    Text eingeführt, die \alert{in der gesamten Theoretischen
      Informatik} genutzt wird.
  \end{presentation itemize}  
\end{frame}



%\VTD{27.10.11}

\subsection{Alphabete}

\begin{frame}{Formale Alphabete}
  \begin{definition}[Alphabet]
    Ein \alert{Alphabet} ist eine nicht-leere, endliche Menge von
    \alert{Symbolen} (auch \alert{Buchstaben} genannt). 
  \end{definition}
  
  \begin{presentation itemize}
  \item Alphabete werden häufig mit griechischen Großbuchstaben
    bezeichnet, also beispielsweise mit $\Gamma$
    oder~$\Sigma$. Manchmal auch mit 
    lateinischen Großbuchstaben, also $N$ oder~$T$.
  \item Ein Symbol oder »Buchstabe« kann auch ein komplexes oder
    komisches »Ding« sein wie ein Pointer oder ein Leerzeichen.
  \end{presentation itemize}

  \begin{examples}
    \begin{itemize}
    \item Die Groß- und Kleinbuchstaben.
    \item Die Menge $\{0,1\}$ (bei Informatikern beliebt).
    \item Die Menge $\{A,C,G,T\}$ (bei Biologen beliebt).
    \item Die Zeichenmenge des \textsc{unicode}.
    \end{itemize}
  \end{examples}
\end{frame}


\subsection{Wörter}


\begin{frame}{Formale Wörter}
  \begin{definition}[Wort]
    Ein \alert{Wort} ist eine endliche Folge von Symbolen. 
  \end{definition}
  \begin{presentation itemize}
    \item »Wörter«\only<article>{\footnote{Die Mehrzahl von »Wort« im
          Sinne von »mehrere Folgen von Buchstaben« ist »Wörter«, also
          »Wörterbuch« und nicht »Wortebuch«; die Mehrzahl im
          Sinne von »ein aus Worten gebildeter Gedanke« hingegen
          »Worte«, also »mit anderen Worten« und nicht »mit anderen
          Wörtern«. }} sind im Prinzip dasselbe wie
      Strings. Insbesondere können in Wörtern Leerzeichen als Symbole
      auftauchen.
    \item Die Menge aller Wörter über einem Alphabet $\Sigma$ hat einen
      besonderen Namen: $\Sigma^*$.
    \item 
      Deshalb schreibt man oft: »Sei $w \in \Sigma^*$, \dots«
      
    \item Es gibt auch ein \alert{leeres Wort}, abgekürzt
      $\epsilon$ oder $\lambda$, das dem String
      \texttt{\char`\"\char`\"} entspricht. 
    \end{presentation itemize}
   
   
 %    \VTU{20.10.11}  
   
   
   
  \begin{examples}
    \begin{itemize}
    \item \texttt{Hallo}
    \item \texttt{TATAAAATATTA}
    \item $\epsilon$
    \item \texttt{Hallo Welt.}
    \end{itemize}
  \end{examples} 
\end{frame}

\begin{exercise frame}[lines=8]
  Die folgenden Aufgaben sind nach Schwierigkeit sortiert. Lösen Sie
  \alert{eine} der Aufgaben. 
  \begin{enumerate}
  \item
    Schreiben Sie alle Wörter der Länge höchstens $2$ über dem Alphabet
    $\Sigma = \{0,1,*\}$ auf.
  \item
    Wie viele Wörter der Länge $n$ über dem Alphabet $\Sigma =
    \{0,1,*\}$  gibt es?
  \item
    Wie viele Wörter der Länge höchstens $n$ über einem Alphabet mit
    $q$ Buchstaben gibt es?
  \end{enumerate}
\end{exercise frame}


\subsection{Sprachen}

\begin{frame}{Formale Sprachen}

  \only<1>{
  \begin{presentation itemize}%
  \item Natürliche Sprachen sind komplexe Dinge, bestehend aus
    Wörtern, ihrer Aussprache, einer Grammatik, Ausnahmen, Dialekten,
    und vielen mehr.
  \item Bei \alert{formalen Sprachen} vereinfacht man radikal.
  \item Formale Sprachen müssen weder sinnvoll noch interessant sein.      
  \end{presentation itemize}

  \begin{definition}[Formale Sprache]
    Eine \alert{formale Sprache} ist eine (oft unendliche!) Menge von
    Wörtern für ein festes Alphabet.
  \end{definition}

  \begin{itemize}
  \item Statt »formale Sprache« sagt man einfach »Sprache«.
  \item Als Menge von Wörtern ist eine Sprache eine Teilmenge von
    $\Sigma^*$.
  \item 
    Deshalb schreibt man oft: »Sei $L \subseteq \Sigma^*$, …«
  \end{itemize}}
\only<2>{
  \begin{examples}
    \begin{itemize}
    \item Die Menge $\{AAA, AAC, AAT\}$ (endliche Sprache).
    \item Die Menge aller Java-Programmtexte (unendliche Sprache).
    \item Die Menge aller Basensequenzen, die \texttt{TATA} enthalten
      (unendliche Sprache).
    \end{itemize}
  \end{examples}
  }
\end{frame}

\begin{frame}{Formale Sprachen in der Medieninformatik}
  \begin{presentation itemize}
  \item Ein Renderer produziert 3D-Bilder.
  \item Dazu erhält er eine \alert{Szenerie} als Eingabe.
  \item Diese Szenerie ist als \alert{Text}, also als ein \alert{Wort}
    gegeben.
    
  \item Eine \alert{Syntax} beschreibt die (formale) Sprache, die alle
    \alert{syntaktisch korrekten Szenerien}  enthält.
  \item Eine \alert{Semantik} beschreibt, was diese Beschreibungen bedeuten.
  \end{presentation itemize}
\end{frame}

\begin{frame}[fragile]{Formale Sprachen in der Medieninformatik}{Das
    »Wort«, das eine Szenerie beschreibt\dots}
\only<presentation>{\lstset{basicstyle=\tiny\ttfamily}}
\begin{lstlisting}[language=POV]
global_settings { assumed_gamma 1.0 }

camera {
  location  <10.0, 10, -10.0>
  direction 1.5*z
  right     x*image_width/image_height
  look_at   <0.0, 0.0,  0.0>
}

sky_sphere { pigment { color rgb <0.6,0.7,1.0> } }

light_source {
  <0, 0, 0>            // light's position (translated below)
  color rgb <1, 1, 1>  // light's color
  translate <-30, 30, -30>
  shadowless
}

#declare i = 0; 
#declare Steps = 30;
#declare Kugel = sphere{<0,0,0>,0.5 pigment{color rgb<1,0,0>}};

#while(i<Steps)
    object{Kugel  translate<3,0,0> rotate <0,i * 360 / Steps, 0> }
  #declare i = i + 1;
#end
\end{lstlisting}
\end{frame}


\begin{frame}{Formale Sprachen in der Medieninformatik}{\dots\ und was es bedeutet.}
  \includegraphicscopyright[width=9.5cm]{\bodydir/bilder/3d-simple-gfdl-Matthias-Kabel}
  {Copyright Matthias Kabel, GNU Free Documentation License}
\end{frame}

\begin{frame}{Formale Sprachen in der Medieninformatik}{Komplexeres Beispielbild, das ein Renderer produziert.}
  \includegraphicscopyright[width=9.5cm]{\bodydir/bilder/3d-gfdl-Giorgio-Krenkel-Alex-Sandri.jpg}
  {Copyright Giorgio Krenkel and Alex Sandri, GNU Free Documentation License}
\end{frame}


\begin{frame}{Formale Sprachen in der Bioinformatik}
  \begin{presentation itemize}
  \item In der Bioinformatik studiert man unter Anderem Proteine.
  \item Dazu erhält man \alert{Molekülbeschreibungen} als Eingabe.
  \item Eine solche ist auch ein \alert{Wort}.
    
  \item Eine \alert{Syntax} beschreibt die (formale) Sprache, die alle
    \alert{syntaktisch korrekten Molekülbeschreibungen}  enthält.
  \item Eine \alert{Semantik} beschreibt, was diese Beschreibungen bedeuten.
  \end{presentation itemize}
\end{frame}


\begin{frame}[fragile]{Formale Sprachen in der Bioinformatik}
  {Das »Wort«, das ein Protein beschreibt\dots}
\only<presentation>{\lstset{basicstyle=\tiny\ttfamily}}
\only<article>{\lstset{basicstyle=\scriptsize\ttfamily}}
\begin{lstlisting}[language={}]
HEADER    HYDROLASE                               25-JUL-03   1UJ1              
TITLE     CRYSTAL STRUCTURE OF SARS CORONAVIRUS MAIN PROTEINASE                 
TITLE    2 (3CLPRO)
COMPND    MOL_ID: 1;                                                            
COMPND   2 MOLECULE: 3C-LIKE PROTEINASE;                                        
COMPND   3 CHAIN: A, B;                                                         
COMPND   4 SYNONYM: MAIN PROTEINASE, 3CLPRO;                                    
COMPND   5 EC: 3.4.24.-;                                                        
COMPND   6 ENGINEERED: YES                                                      
SOURCE    MOL_ID: 1;                                                            
SOURCE   2 ORGANISM_SCIENTIFIC: SARS CORONAVIRUS;                               
SOURCE   3 ORGANISM_COMMON: VIRUSES;                                            
SOURCE   4 STRAIN: SARS;                                                        
...
REVDAT   1   18-NOV-03 1UJ1    0                                                
JRNL        AUTH   H.YANG,M.YANG,Y.DING,Y.LIU,Z.LOU,Z.ZHOU,L.SUN,L.MO,          
JRNL        AUTH 2 S.YE,H.PANG,G.F.GAO,K.ANAND,M.BARTLAM,R.HILGENFELD,          
JRNL        AUTH 3 Z.RAO                                                        
JRNL        TITL   THE CRYSTAL STRUCTURES OF SEVERE ACUTE RESPIRATORY           
JRNL        TITL 2 SYNDROME VIRUS MAIN PROTEASE AND ITS COMPLEX WITH            
JRNL        TITL 3 AN INHIBITOR                                                 
JRNL        REF    PROC.NAT.ACAD.SCI.USA         V. 100 13190 2003              
JRNL        REFN   ASTM PNASA6  US ISSN 0027-8424                               
....
ATOM      1  N   PHE A   3      63.478 -27.806  23.971  1.00 44.82           N  
ATOM      2  CA  PHE A   3      64.607 -26.997  24.516  1.00 42.13           C  
ATOM      3  C   PHE A   3      64.674 -25.701  23.723  1.00 41.61           C  
ATOM      4  O   PHE A   3      65.331 -25.633  22.673  1.00 40.73           O  
ATOM      5  CB  PHE A   3      65.912 -27.763  24.358  1.00 44.33           C  
ATOM      6  CG  PHE A   3      67.065 -27.162  25.108  1.00 44.20           C  
ATOM      7  CD1 PHE A   3      67.083 -27.172  26.496  1.00 43.35           C  
ATOM      8  CD2 PHE A   3      68.135 -26.595  24.422  1.00 43.49           C  
...
\end{lstlisting}
\end{frame}

\begin{frame}[fragile]{Formale Sprachen in der Bioinformatik}
  {\dots\ und das Protein, das beschrieben wird.}

  \includegraphicscopyright[width=9.5cm]{\bodydir/bilder/3d-molecule.jpg}
  {Copyright Till Tantau}
\end{frame}


\tcscomic[
  student says={
    <wütend> Was Sie jetzt endlich zu erklären
    beginnen, das hätten wir schon vor zwei Wochen in den Übungen
    dringend gebraucht!\,!\,!
  },
  professor says={
    Ach, das war schon in den Übungen? Dann kann ich das
    jetzt ja überspringen\dots
  }
]

\begin{summary}
  
  \begin{summary item}<only@1>{Syntax versus Semantik}
    \begin{presentation itemize}
    \item Eine \alert{Syntax} beschreibt, wie Texte aufgebaut sein
      dürfen.
    \item Eine \alert{Semantik} beschreibt, was Texte \alert{bedeuten}.
    \end{presentation itemize}
  \end{summary item}
  
  \begin{summary item}<only@1>{Grundbegriff: Alphabet}
    Ein \alert{Alphabet} ist eine nicht-leere, endliche Menge von
    \alert{Symbolen} (auch \alert{Buchstaben} genannt). 
  \end{summary item}
  
  \begin{summary item}<only@1>{Grundbegriff: Wort}
    Ein \alert{Wort} ist eine endliche Folge von Symbolen. Die Menge
    aller Wörter über einem Alphabet~$\Sigma$ bezeichnet man mit~$\Sigma^*$.
  \end{summary item}
  
  \begin{summary item}<only@1>{Grundbegriff: Formale Sprache}
    Eine \alert{Sprache} ist eine Menge von Wörtern für ein festes Alphabet.
  \end{summary item}
\end{summary}

\end{body}

