

\begin{slide}{Compiler-Phasen}

\begin{itemize}\itemsep 0pt
\item Front-End (abhängig von Quellsprache):
  \begin{itemize}\itemsep 0pt
  \item Eingabe ist (Menge von) Quelltexten
  \item lexikalische Analyse (Scanner) 

    erzeugt Liste von Tokens
  \item syntaktische Analyse (Parser)

    erzeugt Syntaxbaum
  \item 
    semantische Analyse (Typprüfung, Kontrollfluß, Registerwahl)
    erzeugt Zwischencode
  \end{itemize}
\item Back-End (Abhängig von Zielsprache/Maschine):
  \begin{itemize}\itemsep 0pt
  \item Zwischencode-Optimierer
  \item Code-Generator
        erzeugt Programm der Zielsprache
  \item (Assembler, Linker, Lader)
  \end{itemize}
\end{itemize}

\end{slide}
