merged
authorcu
Tue, 10 Oct 2017 18:53:30 +0100
changeset 516 ff643cbb7142
parent 515 3566c8175e63 (current diff)
parent 514 bca9f8889a48 (diff)
child 517 edab48a5b37e
merged
Binary file slides/slides02.pdf has changed
--- a/slides/slides02.tex	Tue Oct 10 18:52:10 2017 +0100
+++ b/slides/slides02.tex	Tue Oct 10 18:53:30 2017 +0100
@@ -36,7 +36,7 @@
   \begin{tabular}{ll}
   Email:  & christian.urban at kcl.ac.uk\\
   Office: & N7.07 (North Wing, Bush House)\\
-  Slides: & KEATS 
+  Slides: & KEATS (also homework is there)
   \end{tabular}
   \end{center}
 
@@ -51,7 +51,7 @@
 
 \footnotesize
 \begin{center}
-  {\normalsize Graphs: \bl{$a^{?\{n\}} \cdot a^{\{n\}}$} and strings \bl{$\underbrace{\,a\ldots a\,}_{n}$}}\\
+  {\normalsize Graphs: \bl{$a^{?\{n\}} \cdot a^{\{n\}}$} and strings \bl{$\underbrace{\,a\ldots a\,}_{n}$}}\smallskip\\
 \begin{tabular}{@{}cc@{}}
 \begin{tikzpicture}
 \begin{axis}[
@@ -69,8 +69,7 @@
     height=4.5cm, 
     legend entries={Python,Ruby},  
     legend pos=north west,
-    legend cell align=left  
-]
+    legend cell align=left]
 \addplot[blue,mark=*, mark options={fill=white}] table {re-python.data};
 \addplot[brown,mark=pentagon*, mark options={fill=white}] table {re-ruby.data};  
 \end{axis}
@@ -89,8 +88,10 @@
     scaled ticks=false,
     axis lines=left,
     width=5cm,
-    height=4.5cm
-]
+    height=4.5cm,
+    legend entries={Scala V2,Scala V3},
+    legend pos=north west,
+    legend cell align=left]
 \addplot[green,mark=square*,mark options={fill=white}] table {re2.data};
 \addplot[black,mark=square*,mark options={fill=white}] table {re3.data};
 \end{axis}
@@ -99,7 +100,7 @@
 \end{center}
 
 \small
-In the handouts is a similar graph with \bl{$(a^*)^* \cdot b$} for Java.
+In the handouts is a similar graph for \bl{$(a^*)^* \cdot b$} and Java.
 
 \end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
@@ -175,9 +176,9 @@
 \item[] For example
 
 \begin{center}
-\begin{tabular}{lcll}
-\bl{$A^4$} & \bl{$=$} & \bl{$A \,@\, A \,@\, A \,@\, A$} & \bl{$(\{[]\})$}\\
-\bl{$A^1$} & \bl{$=$} & \bl{$A$} & \bl{$(\{[]\})$}\\
+\begin{tabular}{lcl@{\hspace{10mm}}l}
+\bl{$A^4$} & \bl{$=$} & \bl{$A \,@\, A \,@\, A \,@\, A$} & \bl{$(@\,\{[]\})$}\\
+\bl{$A^1$} & \bl{$=$} & \bl{$A$} & \bl{$(@\,\{[]\})$}\\
 \bl{$A^0$} & \bl{$=$} & \bl{$\{[]\}$}\\
 \end{tabular}
 \end{center}
@@ -215,7 +216,7 @@
 \frametitle{The Star Operation}
 
 \begin{itemize}
-\item The \alert{\bf Star} of a \underline{language}:
+\item The \alert{\bf Kleene Star} of a \underline{language}:
 \bigskip
 
 \begin{center}
@@ -257,9 +258,9 @@
   \end{tabular}
 \end{textblock}
 
-\begin{textblock}{6}(9,12)\small
+\begin{textblock}{9}(6,12)\small
 \bl{$L$} is a function from regular expressions to 
-sets of strings\\
+sets of strings (languages):\smallskip\\
 \bl{$L$ : Rexp $\Rightarrow$ Set$[$String$]$}
 \end{textblock}
 
@@ -332,9 +333,9 @@
 
 \begin{textblock}{6}(2,7.5)
   \begin{tabular}{@ {}rrl@ {\hspace{13mm}}l}
-  \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}  & null\\
+  \bl{$r$} & \bl{$::=$}  & \bl{$\ZERO$}  & nothing\\
          & \bl{$\mid$} & \bl{$\ONE$}       & empty string / \pcode{""} / $[]$\\
-         & \bl{$\mid$} & \bl{$c$}              & character\\
+         & \bl{$\mid$} & \bl{$c$}              & single character\\
          & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}  & sequence\\
          & \bl{$\mid$} & \bl{$r_1 + r_2$}      & alternative / choice\\
          & \bl{$\mid$} & \bl{$r^*$}            & star (zero or more)\\
@@ -614,7 +615,8 @@
 \begin{frame}[c]
 \frametitle{Solving the Problem}
 
-What happens if we extend our regular expressions
+What happens if we extend our regular expressions with explicit 
+constructors
 
 \begin{center}
 \begin{tabular}{rcl}
@@ -746,35 +748,35 @@
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{\bl{$(a^*)^* \cdot b$}}
-
-\begin{center}
-\begin{tikzpicture}
-  \begin{axis}[
-    xlabel={$n$},
-    x label style={at={(1.09,0.0)}},
-    ylabel={time in secs},
-    enlargelimits=false,
-    xmax=27,
-    xtick={0,5,...,20},
-    ytick={0,5,...,25},
-    ymax=13,
-    scaled ticks=false,
-    axis lines=left,
-    width=9cm,
-    height=5cm, 
-    legend entries={Scala V2},
-    legend pos=north west,
-    legend cell align=left]
-\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};
+%\begin{frame}[c]
+%\frametitle{\bl{$(a^*)^* \cdot b$}}
+%
+%\begin{center}
+%\begin{tikzpicture}
+%  \begin{axis}[
+%    xlabel={$n$},
+%    x label style={at={(1.09,0.0)}},
+%    ylabel={time in secs},
+%    enlargelimits=false,
+%    xmax=27,
+%    xtick={0,5,...,20},
+%    ytick={0,5,...,25},
+%    ymax=13,
+%    scaled ticks=false,
+%    axis lines=left,
+%    width=9cm,
+%    height=5cm, 
+%    legend entries={Scala V2},
+%    legend pos=north west,
+%    legend cell align=left]
+%\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};
 %% still needs to be done
 %%\addplot[black,mark=square*,mark options={fill=white}] table {re3a.data};
-\end{axis}
-\end{tikzpicture}
-\end{center}
-
-\end{frame}
+%\end{axis}
+%\end{tikzpicture}
+%\end{center}
+%
+%\end{frame}
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
@@ -788,15 +790,15 @@
     x label style={at={(1.09,0.0)}},
     ylabel={time in secs},
     enlargelimits=false,
-    ytick={0,10,...,60},
-    ymax=65,
+    ytick={0,10,...,30},
+    ymax=35,
     axis lines=left,
     width=9cm,
     height=5cm, 
     legend entries={Scala V3},
-    legend pos=north west,
+    legend pos=north east,
     legend cell align=left]
-\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};
+%\addplot[green,mark=square*,mark options={fill=white}] table {re2a.data};
 \addplot[black,mark=square*,mark options={fill=white}] table {re3a.data};
 \end{axis}
 \end{tikzpicture}
@@ -818,7 +820,7 @@
 \item is easy to implement in a functional language
 
 \item the algorithm is already quite old; there is still
-  work to be done to use it as a tokenizer (that is brand new work)
+  work to be done to use it as a tokenizer (that is relatively new work)
 
 \item we can prove its correctness\ldots
 \end{itemize}