# HG changeset patch # User Christian Urban # Date 1382509703 -3600 # Node ID a2d792ed768e9448ae2bd513602ac97d4c9f08cb # Parent b728c9dbf120e3ff7e89897b0d2d43d84a760a9f added diff -r b728c9dbf120 -r a2d792ed768e slides/slides05.pdf Binary file slides/slides05.pdf has changed diff -r b728c9dbf120 -r a2d792ed768e slides/slides05.tex --- a/slides/slides05.tex Wed Oct 23 01:05:22 2013 +0100 +++ b/slides/slides05.tex Wed Oct 23 07:28:23 2013 +0100 @@ -378,6 +378,30 @@ \end{frame}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mode{ +\begin{frame}[c] + +\begin{tikzpicture}[scale=1] + + \draw[line width=1mm] (-.3, 0) rectangle (1.5,2); + \draw (4.2,1) node {Code Gen}; + \draw (0.6,1.7) node {\footnotesize Parser}; + \draw (-2.7,1.7) node {\footnotesize Lexer}; + + \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2); + + \draw[white] (1.7,1) node (X) {}; + \draw[white] (3.2,1) node (Y) {}; + \draw[red, ->, line width = 2mm] (X) -- (Y); + + \draw[red, <-, line width = 2mm] (-0.6,1) -- (-1.6,1); + \draw[red, <-, line width = 2mm] (-3.8,1) -- (-4.8,1); +\end{tikzpicture} + + +\end{frame}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -452,28 +476,28 @@ \mode{ \begin{frame}[c] -\begin{tikzpicture}[scale=1] - - \draw[line width=1mm] (-.3, 0) rectangle (1.5,2); - \draw (4.2,1) node {Code Gen}; - \draw (0.6,1.7) node {\footnotesize Parser}; - \draw (-2.7,1.7) node {\footnotesize Lexer}; - - \draw[line width=1mm] (-1.8, 0) rectangle (-3.6,2); + +There is one small problem with the tokenizer. How should we +tokenize: + +\begin{center} +{\consolas "x - 3"} +\end{center} - \draw[white] (1.7,1) node (X) {}; - \draw[white] (3.2,1) node (Y) {}; - \draw[red, ->, line width = 2mm] (X) -- (Y); - - \draw[red, <-, line width = 2mm] (-0.6,1) -- (-1.6,1); - \draw[red, <-, line width = 2mm] (-3.8,1) -- (-4.8,1); -\end{tikzpicture} +\consolas +\begin{tabular}{@{}l} +OP:\\ +\hspace{5mm}\texttt{"+"}, \texttt{"-"}\\ +NUM:\\ +\hspace{5mm}(NONZERODIGIT $\cdot$ DIGIT$^*$) + {''0''}\\ +NUMBER:\\ +\hspace{5mm}NUM + (\texttt{"-"} $\cdot$ NUM)\\ +\end{tabular} \end{frame}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mode{ \begin{frame}[c] @@ -536,12 +560,36 @@ \bl{$zeroable (r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$} \\ \bl{$zeroable (r^*)$} & \bl{$\dn$} & \bl{$f\!alse$} \\ \end{tabular} +\end{center}\bigskip\pause + +\begin{center} +\bl{$zeroable(r) \Leftrightarrow L(r) = \varnothing$} \end{center} - \end{frame}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +\mode{ +\begin{frame}[c] + +\begin{itemize} +\item The star-case in our proof about the matcher needs the following lemma +\begin{center} +\bl{$Der\,c\,A^* = (Der c A)\,@\, A^*$} +\end{center} +\end{itemize}\bigskip\bigskip + +\begin{itemize} +\item If \bl{\texttt{""} $\in A$}, then\\ \bl{$Der\,c\,(A @ B) = (Der\,c\,A) @ B \cup (Der\,c\,B)$}\medskip +\item If \bl{\texttt{""} $\not\in A$}, then\\ \bl{$Der\,c\,(A @ B) = (Der\,c\,A) @ B$} + +\end{itemize} + +\end{frame}} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + \newcommand{\qq}{\mbox{\texttt{"}}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \mode{