|     33  |     33  | 
|     34   \normalsize |     34   \normalsize | 
|     35   \begin{center} |     35   \begin{center} | 
|     36   \begin{tabular}{ll} |     36   \begin{tabular}{ll} | 
|     37   Email:  & christian.urban at kcl.ac.uk\\ |     37   Email:  & christian.urban at kcl.ac.uk\\ | 
|     38   Office: & N\liningnums{7.07} (North Wing, Bush House)\\ |     38   Office: & N7.07 (North Wing, Bush House)\\ | 
|     39   Slides: & KEATS (also homework is there) |     39   Slides: & KEATS (also homework is there) | 
|     40   \end{tabular} |     40   \end{tabular} | 
|     41   \end{center} |     41   \end{center} | 
|     42  |     42  | 
|     43 \end{frame} |     43 \end{frame} | 
|     44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      |     44 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%      | 
|     45  |     45  | 
|     46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |     46 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
|     47 \begin{frame}[t] |     47 \begin{frame}[t] | 
|     48   \frametitle{\Large |     48   \frametitle{ | 
|     49     Lets Implement an Efficient\\[-2mm]  |     49     Lets Implement an Efficient\\[-2mm]  | 
|     50     Regular Expression Matcher} |     50     Regular Expression Matcher} | 
|     51  |     51  | 
|     52 \footnotesize |     52 \footnotesize | 
|     53 \begin{center} |     53 \begin{center} | 
|    298  |    298  | 
|    299 \begin{center} |    299 \begin{center} | 
|    300 \bl{$\Der\,c\,A \dn \{ s \;|\;  c\!::\!s \in A\}$ }  |    300 \bl{$\Der\,c\,A \dn \{ s \;|\;  c\!::\!s \in A\}$ }  | 
|    301 \end{center}\bigskip |    301 \end{center}\bigskip | 
|    302  |    302  | 
|    303 For \bl{$A = \{\textit{foo}, \textit{bar}, \textit{frak}\}$} then |    303 For \bl{$A = \{\mathit{foo}, \mathit{bar}, \mathit{frak}\}$} then | 
|    304  |    304  | 
|    305 \begin{center} |    305 \begin{center} | 
|    306 \bl{\begin{tabular}{l@{\hspace{2mm}}c@{\hspace{2mm}}l} |    306 \bl{\begin{tabular}{l@{\hspace{2mm}}c@{\hspace{2mm}}l} | 
|    307 $\Der\,f\,A$ & $=$ & $\{\textit{oo}, \textit{rak}\}$\\ |    307 $\Der\,f\,A$ & $=$ & $\{\mathit{oo}, \mathit{rak}\}$\\ | 
|    308 $\Der\,b\,A$ & $=$ &  $\{\textit{ar}\}$\\   |    308 $\Der\,b\,A$ & $=$ &  $\{\mathit{ar}\}$\\   | 
|    309 $\Der\,a\,A$ & $=$ & $\{\}$\pause |    309 $\Der\,a\,A$ & $=$ & $\{\}$\pause | 
|    310 \end{tabular}} |    310 \end{tabular}} | 
|    311 \end{center} |    311 \end{center} | 
|    312  |    312  | 
|    313 \small |    313  | 
|    314 We can extend this definition to strings |    314 We can extend this definition to strings | 
|    315 \[ |    315 \[ | 
|    316 \bl{\Ders\,s\,A = \{s'\;|\;s\,@\,s' \in A\}} |    316 \bl{\Ders\,s\,A = \{s'\;|\;s\,@\,s' \in A\}} | 
|    317 \] |    317 \] | 
|    318  |    318  | 
|    322 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    |    322 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
|    323  |    323  | 
|    324  |    324  | 
|    325 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |    325 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
|    326 \begin{frame}[c] |    326 \begin{frame}[c] | 
|    327 \frametitle{The Specification\\ for Matching} |    327 \frametitle{The Specification for Matching} | 
|    328  |    328  | 
|    329 \begin{bubble}[10cm] |    329 \begin{bubble}[10cm] | 
|    330 \large |    330 \large | 
|    331 A regular expression \bl{$r$} matches a string~\bl{$s$}  |    331 A regular expression \bl{$r$} matches a string~\bl{$s$}  | 
|    332 provided |    332 provided | 
|    333  |    333 \begin{center} | 
|    334 \begin{center} |    334 \bl{$s \in L(r)$}  | 
|    335 \bl{$s \in L(r)$}\\  |    335 \end{center} | 
|    336 \end{center} |    336 \end{bubble} | 
|    337 \end{bubble}\bigskip\bigskip |    337  | 
|    338  |    338 \bigskip\bigskip | 
|    339 \ldots and the point of the this lecture is  |    339  | 
|    340 to decide this problem as fast as possible  |    340 \ldots and the point of the this lecture is to decide this problem as | 
|    341 (unlike Python, Ruby, Java etc) |    341 fast as possible (unlike Python, Ruby, Java etc) | 
|    342  |    342  | 
|    343 \end{frame} |    343 \end{frame} | 
|    344 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    |    344 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
|    345  |    345  | 
|    346  |    346  | 
|    441 \end{frame} |    441 \end{frame} | 
|    442 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    |    442 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%    | 
|    443  |    443  | 
|    444 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |    444 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% | 
|    445 \begin{frame}[c] |    445 \begin{frame}[c] | 
|    446 \frametitle{Another Homework\\[-2mm] Question} |    446 \frametitle{Another Homework Question} | 
|    447  |    447  | 
|    448 \begin{itemize} |    448 \begin{itemize} | 
|    449 \item How many basic regular expressions are there to match |    449 \item How many basic regular expressions are there to match | 
|    450   the string \bl{$abcd$}\,?\pause |    450   the string \bl{$abcd$}\,?\pause | 
|    451 \item How many if they cannot include |    451 \item How many if they cannot include |