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 % |