%% -*- mode: latex; TeX-master: "compilerbau.tex"; -*-

\begin{slide}{Übung zu Bison}

\kopf{$ $Id: bisonub.tex,v 1.1 2011-10-16 14:06:17 waldmann Exp $ $}

\begin{itemize}
\item
  \verb|gcc| benutzt bison-Grammatik, siehe
  \url{http://www.imn.htwk-leipzig.de/~waldmann/ws03/compilerbau/programme/gcc-3.3.2/gcc/}
\item 
  Taschenrechner-Dateien kopieren von 
  \url{http://www.imn.htwk-leipzig.de/~waldmann/ws03/compilerbau/programme/taschenrechner/},
  \verb|gmake|, testen: \verb:./interpreter:,
  dann zeilenweise Eingabe von Ausdrücken,
  z. B. \verb|1 + 2 * 3 - 4|
\end{itemize}
\end{slide}

\begin{slide}{Bison-Übung (II)}
\begin{itemize}
\item Beispiel-Parser untersuchen:
  \begin{itemize}
  \item
    Kellerautomaten betrachten: \verb|bison -v parser.y| $\to$
     \verb|parser.output|
  \item
    Lauf der Automaten betrachten:
    in \verb|interpreter.c|: \verb|yydebug = 1;|

  \end{itemize}
\item Beispiel-Parser erweitern:
  \begin{itemize}
  \item
    Operator \verb|%| (Rest bei Division)
  \item 
    einstellige Funktion \verb|quad| (Quadrieren) 
    \begin{itemize}
    \item neues Token \verb|QUAD| in \verb|parser.y|,
    \item  neue Zeile in \verb|scanner.l|,
    \item  neue Regel in \verb|parser.y|
    \end{itemize}
  \end{itemize}
\end{itemize}
\end{slide}

%%% Local Variables: 
%%% mode: latex
%%% TeX-master: "compilerbau"
%%% End: 
