426 \end{flushright} | 
   426 \end{flushright} | 
   427   | 
   427   | 
   428 \end{frame} | 
   428 \end{frame} | 
   429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   429 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%       | 
   430   | 
   430   | 
   431   | 
   431 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   432 \begin{frame}[c] | 
         | 
   433 \frametitle{Remember BF***?} | 
         | 
   434   | 
         | 
   435 \begin{center} | 
         | 
   436 \begin{tabular}{lcl} | 
         | 
   437 \bl{\texttt{>}} & $\Rightarrow$ & move one cell right\\ | 
         | 
   438 \bl{\texttt{<}} & $\Rightarrow$ & move one cell left\\ | 
         | 
   439 \bl{\texttt{+}} & $\Rightarrow$ & increase cell by one\\ | 
         | 
   440 \bl{\texttt{-}} & $\Rightarrow$ & decrease cell by one\\ | 
         | 
   441 \bl{\texttt{.}} & $\Rightarrow$ & print current cell\\ | 
         | 
   442 \bl{\texttt{,}} & $\Rightarrow$ & input current cell\\ | 
         | 
   443 \bl{\texttt{[}} & $\Rightarrow$ & loop begin\\ | 
         | 
   444 \bl{\texttt{]}} & $\Rightarrow$ & loop end\medskip\\ | 
         | 
   445                 & $\Rightarrow$ & everything else is a comment\\  | 
         | 
   446 \end{tabular}   | 
         | 
   447 \end{center}   | 
         | 
   448   | 
         | 
   449 \end{frame} | 
         | 
   450 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   451   | 
         | 
   452 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
         | 
   453 \begin{frame}[c] | 
         | 
   454   \frametitle{A Compiler for BF***} | 
         | 
   455     | 
         | 
   456   \begin{center} | 
         | 
   457   \begin{tabular}{lcl} | 
         | 
   458   \bl{\texttt{>}} & $\Rightarrow$ & \texttt{ptr++}\\ | 
         | 
   459   \bl{\texttt{<}} & $\Rightarrow$ & \texttt{ptr--}\\ | 
         | 
   460   \bl{\texttt{+}} & $\Rightarrow$ & \texttt{(*ptr)++}\\ | 
         | 
   461   \bl{\texttt{-}} & $\Rightarrow$ & \texttt{(*ptr)--}\\ | 
         | 
   462   \bl{\texttt{.}} & $\Rightarrow$ & \texttt{putchar(*ptr)}\\ | 
         | 
   463   \bl{\texttt{,}} & $\Rightarrow$ & \texttt{*ptr = getchar()}\\ | 
         | 
   464   \bl{\texttt{[}} & $\Rightarrow$ & \texttt{while(*ptr)\{}\\ | 
         | 
   465   \bl{\texttt{]}} & $\Rightarrow$ & \texttt{\}}\medskip\\ | 
         | 
   466                   & $\Rightarrow$ & ignore everything else\\  | 
         | 
   467   \end{tabular}   | 
         | 
   468   \end{center}\bigskip   | 
         | 
   469     | 
         | 
   470   \texttt{char field[30000]\\ char *ptr = &field[15000]} | 
         | 
   471     | 
         | 
   472 \end{frame} | 
         | 
   473 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
         | 
   474       | 
   432   | 
   475   | 
   433 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   476 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   434 \begin{frame}[c] | 
   477 \begin{frame}[c] | 
   435 \frametitle{Lectures 1 - 5} | 
   478 \frametitle{Lectures 1 - 5} | 
   436   | 
   479   | 
   626   | 
   669   | 
   627 \end{frame} | 
   670 \end{frame} | 
   628 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   671 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   629   | 
   672   | 
   630 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   673 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   631 \begin{frame}[c] | 
   674 %\begin{frame}[c] | 
   632 \frametitle{Finding Operations in Scala} | 
   675 %\frametitle{Finding Operations in Scala} | 
   633   | 
   676 %  | 
   634 {\bf\code{rexp.findAllIn(string)}}\medskip | 
   677 %{\bf\code{rexp.findAllIn(string)}}\medskip | 
   635     | 
   678 %    | 
   636 returns a list of all (sub)strings that match the   | 
   679 %returns a list of all (sub)strings that match the   | 
   637 regular expression  | 
   680 %regular expression  | 
   638 \bigskip\bigskip    | 
   681 %\bigskip\bigskip    | 
   639     | 
   682 %    | 
   640   | 
   683 %  | 
   641 {\bf\code{rexp.findFirstIn(string)}}\medskip | 
   684 %{\bf\code{rexp.findFirstIn(string)}}\medskip | 
   642    | 
   685 %   | 
   643 returns either   | 
   686 %returns either   | 
   644   | 
   687 %  | 
   645 \begin{itemize} | 
   688 %\begin{itemize} | 
   646 \item \code{None} if no (sub)string matches or  | 
   689 %\item \code{None} if no (sub)string matches or  | 
   647 \item \code{Some(s)} with the first (sub)string | 
   690 %\item \code{Some(s)} with the first (sub)string | 
   648 \end{itemize} | 
   691 %\end{itemize} | 
   649   | 
   692 %  | 
   650 \end{frame} | 
   693 %\end{frame} | 
   651 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   694 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     | 
   652   | 
   695   | 
   653 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   696 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  | 
   654 %\begin{frame}[c] | 
   697 %\begin{frame}[c] | 
   655 %  | 
   698 %  |