--- a/slides/slides05.tex Thu Jul 30 13:50:54 2020 +0100
+++ b/slides/slides05.tex Sat Aug 15 14:18:37 2020 +0100
@@ -1,6 +1,6 @@
% !TEX program = xelatex
-\documentclass[dvipsnames,14pt,t]{beamer}
+\documentclass[dvipsnames,14pt,t,xelatex,aspectratio=169,xcolor={table}]{beamer}
\usepackage{../slides}
\usepackage{../graphics}
\usepackage{../langs}
@@ -25,448 +25,55 @@
\begin{tabular}{@ {}c@ {}}
\\[-3mm]
\LARGE Compilers and \\[-2mm]
- \LARGE Formal Languages (5)\\[3mm]
+ \LARGE Formal Languages\\[3mm]
\end{tabular}}
\normalsize
\begin{center}
\begin{tabular}{ll}
Email: & christian.urban at kcl.ac.uk\\
- Office Hours: & Thursdays 12 -- 14\\
- Location: & N7.07 (North Wing, Bush House)\\
+ %Office Hours: & Thursdays 12 -- 14\\
+ %Location: & N7.07 (North Wing, Bush House)\\
Slides \& Progs: & KEATS (also homework is there)\\
\end{tabular}
+\end{center}
+
+ \begin{center}
+ \begin{tikzpicture}
+ \node[drop shadow,fill=white,inner sep=0pt]
+ {\footnotesize\rowcolors{1}{capri!10}{white}
+ \begin{tabular}{|p{4.8cm}|p{4.8cm}|}\hline
+ 1 Introduction, Languages & 6 While-Language \\
+ 2 Regular Expressions, Derivatives & 7 Compilation, JVM \\
+ 3 Automata, Regular Languages & 8 Compiling Functional Languages \\
+ 4 Lexing, Tokenising & 9 Optimisations \\
+ \cellcolor{blue!50}
+ 5 Grammars, Parsing & 10 LLVM \\ \hline
+ \end{tabular}%
+ };
+ \end{tikzpicture}
\end{center}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
- \frametitle{Coursework 1: Submissions}
-
- \begin{itemize}
- \item Scala (29)
- \item Haskell (1)
- \item Kotlin (1)
- \item Rust (1)
- \end{itemize}\bigskip\bigskip
-
- \small
- Please get in contact if you intend to do CW Strand 2. No zips please.
- Give definitions also on paper if asked. BTW, simp
- can stay unchanged. Use \texttt{ders} for CW2, not \texttt{ders2}!
- \end{frame}
- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{\begin{tabular}{c}Last Week\\[-2mm]
- Regexes and Values\end{tabular}}
-
-Regular expressions and their corresponding values:
-
-\begin{center}
-\begin{columns}
-\begin{column}{3cm}
-\begin{tabular}{@{}rrl@{}}
- \bl{$r$} & \bl{$::=$} & \bl{$\ZERO$}\\
- & \bl{$\mid$} & \bl{$\ONE$} \\
- & \bl{$\mid$} & \bl{$c$} \\
- & \bl{$\mid$} & \bl{$r_1 \cdot r_2$}\\
- & \bl{$\mid$} & \bl{$r_1 + r_2$} \\
- \\
- & \bl{$\mid$} & \bl{$r^*$} \\
- \end{tabular}
-\end{column}
-\begin{column}{3cm}
-\begin{tabular}{@{\hspace{-7mm}}rrl@{}}
- \bl{$v$} & \bl{$::=$} & \\
- & & \bl{$Empty$} \\
- & \bl{$\mid$} & \bl{$Char(c)$} \\
- & \bl{$\mid$} & \bl{$Seq(v_1,v_2)$}\\
- & \bl{$\mid$} & \bl{$Left(v)$} \\
- & \bl{$\mid$} & \bl{$Right(v)$} \\
- & \bl{$\mid$} & \bl{$Stars [v_1,\ldots\,v_n]$} \\
- \end{tabular}
-\end{column}
-\end{columns}
-\end{center}
-
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-
-\begin{textblock}{10}(3,5)
-\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
-\node (r1) {\bl{$r_1$}};
-\node (r2) [right=of r1] {\bl{$r_2$}};
-\draw[->,line width=1mm] (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
-\node (r3) [right=of r2] {\bl{$r_3$}};
-\draw[->,line width=1mm] (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
-\node (r4) [right=of r3] {\bl{$r_4$}};
-\draw[->,line width=1mm] (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
-\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
-\node (v4) [below=of r4] {\bl{$v_4$}};
-\draw[->,line width=1mm] (r4) -- (v4);
-\node (v3) [left=of v4] {\bl{$v_3$}};
-\draw[->,line width=1mm] (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
-\node (v2) [left=of v3] {\bl{$v_2$}};
-\draw[->,line width=1mm] (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
-\node (v1) [left=of v2] {\bl{$v_1$}};
-\draw[->,line width=1mm] (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
-\draw[->,line width=0.5mm] (r3) -- (v3);
-\draw[->,line width=0.5mm] (r2) -- (v2);
-\draw[->,line width=0.5mm] (r1) -- (v1);
-\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
-\end{tikzpicture}
-\end{textblock}
-
-\begin{textblock}{6}(1,0.8)
-\begin{bubble}[6cm]
-\small
-\begin{tabular}{ll}
-\bl{$r_1$}: & \bl{$a \cdot (b \cdot c)$}\\
-\bl{$r_2$}: & \bl{$\ONE \cdot (b \cdot c)$}\\
-\bl{$r_3$}: & \bl{$(\ZERO \cdot (b \cdot c)) + (\ONE \cdot c)$}\\
-\bl{$r_4$}: & \bl{$(\ZERO \cdot (b \cdot c)) + ((\ZERO \cdot c) + \ONE)$}\\
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-\begin{textblock}{6}(1,11.4)
-\begin{bubble}[7.6cm]
-\small
-\begin{tabular}{ll}
-\bl{$v_1$}: & \bl{$Seq(Char(a), Seq(Char(b), Char(c)))$}\\
-\bl{$v_2$}: & \bl{$Seq(Empty, Seq(Char(b), Char(c)))$}\\
-\bl{$v_3$}: & \bl{$Right(Seq(Empty, Char(c)))$}\\
-\bl{$v_4$}: & \bl{$Right(Right(Empty))$}\\
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-\begin{textblock}{6}(12,11.4)
-\begin{bubble}[2cm]
-\small
-\begin{tabular}{ll}
-\bl{$|v_1|$}: & \bl{$abc$}\\
-\bl{$|v_2|$}: & \bl{$bc$}\\
-\bl{$|v_3|$}: & \bl{$c$}\\
-\bl{$|v_4|$}: & \bl{$[]$}
-\end{tabular}
-\end{bubble}
-\end{textblock}
-
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+%\begin{frame}[c]
+% \frametitle{Coursework 1: Submissions}
+%
+% \begin{itemize}
+% \item Scala (29)
+% \item Haskell (1)
+% \item Kotlin (1)
+% \item Rust (1)
+% \end{itemize}\bigskip\bigskip
+%
+% \small
+% Please get in contact if you intend to do CW Strand 2. No zips please.
+% Give definitions also on paper if asked. BTW, simp
+% can stay unchanged. Use \texttt{ders} for CW2, not \texttt{ders2}!
+% \end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{Simplification}
-
-\begin{itemize}
-\item If we simplify after the derivative, then we are builing the
-value for the simplified regular expression, but \emph{not} for the original
-regular expression.
-\end{itemize}
-
-\begin{center}
-\begin{tikzpicture}[scale=2,node distance=1.3cm,every node/.style={minimum size=8mm}]
-\node (r1) {\bl{$r_1$}};
-\node (r2) [right=of r1] {\bl{$r_2$}};
-\draw[->,line width=1mm] (r1) -- (r2) node[above,midway] {\bl{$der\,a$}};
-\node (r3) [right=of r2] {\bl{$r_3$}};
-\draw[->,line width=1mm] (r2) -- (r3) node[above,midway] {\bl{$der\,b$}};
-\node (r4) [right=of r3] {\bl{$r_4$}};
-\draw[->,line width=1mm] (r3) -- (r4) node[above,midway] {\bl{$der\,c$}};
-\draw (r4) node[anchor=west] {\;\raisebox{3mm}{\bl{$nullable$}}};
-\node (v4) [below=of r4] {\bl{$v_4$}};
-\draw[->,line width=1mm] (r4) -- (v4);
-\node (v3) [left=of v4] {\bl{$v_3$}};
-\draw[->,line width=1mm] (v4) -- (v3) node[below,midway] {\bl{$inj\,c$}};
-\node (v2) [left=of v3] {\bl{$v_2$}};
-\draw[->,line width=1mm] (v3) -- (v2) node[below,midway] {\bl{$inj\,b$}};
-\node (v1) [left=of v2] {\bl{$v_1$}};
-\draw[->,line width=1mm] (v2) -- (v1) node[below,midway] {\bl{$inj\,a$}};
-\draw[->,line width=0.5mm] (r3) -- (v3);
-\draw[->,line width=0.5mm] (r2) -- (v2);
-\draw[->,line width=0.5mm] (r1) -- (v1);
-\draw (r4) node[anchor=north west] {\;\raisebox{-8mm}{\bl{$mkeps$}}};
-\end{tikzpicture}
-\end{center}
-
-\small
-\hspace{4.5cm}\bl{$(b \cdot c) + (\ZERO + \ONE)$}
-$\mapsto$
-\bl{$(b \cdot c) + \ONE$}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-% \begin{frame}[t]
-
-% \begin{center}
-% \bl{$\only<1>{(b \cdot c)}%
-% \only<2-3>{(\underline{b \cdot c})}%
-% \only<1-3>{+}%
-% \only<1>{(\ZERO + \ONE)}%
-% \only<2-3>{(\underline{\ZERO + \ONE})}$}%
-% \only<4->{%
-% \bl{$\underline{(b \cdot c) + (\ZERO + \ONE)}$}%
-% }
-% $\mapsto$
-% \bl{$(b \cdot c) + \ONE$}
-% \end{center}\bigskip
-
-% \onslide<3->{%
-% \begin{center}
-% \begin{tabular}{lcl}
-% \bl{$f_{s1}$} & \bl{$=$} & \bl{$\lambda v.v$}\\
-% \bl{$f_{s2}$} & \bl{$=$} & \bl{$\lambda v. \textit{Right}(v)$}
-% \end{tabular}
-% \end{center}}
-
-% \only<4>{%
-% \begin{center}
-% \begin{tabular}{@{}l@{\hspace{1mm}}l@{}}
-% \bl{$f_{alt}(f_{s1}, f_{s2}) \dn$}\\
-% \quad \bl{$\lambda v.\,$}
-% case \bl{$v = Left(v')$}:
-% & return \bl{$Left(f_{s1}(v'))$}\\
-% \quad \phantom{$\lambda v.\,$}
-% case \bl{$v = Right(v')$}:
-% & return \bl{$Right(f_{s2}(v'))$}\\
-% \end{tabular}
-% \end{center}}%
-% \only<5->{%
-% \begin{center}
-% \begin{tabular}{@{}l@{\hspace{1mm}}l@{}}
-% \only<5->{\phantom{\bl{$f_{alt}(f_{s1}, f_{s2}) \dn$}}}\\
-% \quad \bl{$\lambda v.\,$}
-% case \bl{$v = Left(v')$}:
-% & return \bl{$Left(v')$}\\
-% \quad \phantom{$\lambda v.\,$}
-% case \bl{$v = Right(v')$}:
-% & return \bl{$Right(Right(v'))$}\\
-% \end{tabular}
-% \end{center}}%
-
-% \only<6->{%
-% \begin{center}
-% \begin{tabular}{@{}l@{\hspace{4mm}}l@{}}
-% \bl{$\textit{mkeps}$} simplified case: &
-% \bl{$\textit{Right}(\textit{Empty})$}\\
-% rectified case: &
-% \bl{$\textit{Right}(\textit{Right}(\textit{Empty}))$}
-% \end{tabular}
-% \end{center}}%
-
-% \end{frame}
-% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{Records}
-
-\begin{itemize}
-\item new regex: \bl{$(x:r)$}\hspace{7mm}new value: \bl{$Rec(x,v)$}\medskip\pause
-
-\item \bl{$nullable(x:r) \dn nullable(r)$}
-\item \bl{$der\,c\,(x:r) \dn der\,c\,r$}
-\item \bl{$mkeps(x:r) \dn Rec(x, mkeps(r))$}
-\item \bl{$inj\,(x:r)\,c\,v \dn Rec(x, inj\,r\,c\,v)$}
-\end{itemize}\bigskip\bigskip\pause
-
-\small
-for extracting subpatterns \bl{$(z: ((x:ab) + (y:ba))$}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{Environments}
-
-Obtaining the ``recorded'' parts of a value:
-
-\begin{center}
-\begin{tabular}{lcl}
- \bl{$env(Empty)$} & \bl{$\dn$} & \bl{$[]$}\\
- \bl{$env(Char(c))$} & \bl{$\dn$} & \bl{$[]$}\\
- \bl{$env(Left(v))$} & \bl{$\dn$} & \bl{$env(v)$}\\
- \bl{$env(Right(v))$} & \bl{$\dn$} & \bl{$env(v)$}\\
- \bl{$env(Seq(v_1,v_2))$}& \bl{$\dn$} & \bl{$env(v_1) \,@\, env(v_2)$}\\
- \bl{$env(Stars [v_1,\ldots ,v_n])$} & \bl{$\dn$} &
- \bl{$env(v_1) \,@\ldots @\, env(v_n)$}\\
- \bl{$env(Rec(x:v))$} & \bl{$\dn$} & \bl{$(x:|v|) :: env(v)$}\\
-\end{tabular}
-\end{center}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[c]
-\frametitle{While Tokens}
-
-\begin{center}
-\begin{tabular}{@{}r@{\hspace{2mm}}c@{\hspace{2mm}}l@{}}
-\pcode{WHILE\_REGS} & $\dn$ & \raisebox{-1mm}{\large(}\pcode{("k" : KEYWORD)} +\\
- & & \phantom{(}\pcode{("i" : ID)} +\\
- & & \phantom{(}\pcode{("o" : OP)} + \\
- & & \phantom{(}\pcode{("n" : NUM)} + \\
- & & \phantom{(}\pcode{("s" : SEMI)} +\\
- & & \phantom{(}\pcode{("p" : (LPAREN + RPAREN))} +\\
- & & \phantom{(}\pcode{("b" : (BEGIN + END))} +\\
- & & \phantom{(}\pcode{("w" : WHITESPACE)}\raisebox{-1mm}{\large)$^*$}
-\end{tabular}
-\end{center}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-\begin{frame}[t]
-
-\consolas
-\begin{center}
-\code{"if true then then 42 else +"}
-\end{center}
-
-\only<1>{
-\small\begin{tabular}{l}
-KEYWORD(if),\\
-WHITESPACE,\\
-IDENT(true),\\
-WHITESPACE,\\
-KEYWORD(then),\\
-WHITESPACE,\\
-KEYWORD(then),\\
-WHITESPACE,\\
-NUM(42),\\
-WHITESPACE,\\
-KEYWORD(else),\\
-WHITESPACE,\\
-OP(+)
-\end{tabular}}
-
-\only<2>{
-\small\begin{tabular}{l}
-KEYWORD(if),\\
-IDENT(true),\\
-KEYWORD(then),\\
-KEYWORD(then),\\
-NUM(42),\\
-KEYWORD(else),\\
-OP(+)
-\end{tabular}}
-
-\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\begin{frame}[c]
-%\frametitle{Coursework: PLs (16)}
-%
-%\begin{itemize}
-%\item Java (16)
-%\item C++, C, C\# (14)
-%\item JavaScript (10)
-%\item Scala (9)
-%\item Python (9)
-%\item PHP (6)
-%\item Haskell (3)
-%\item Ruby (4)
-%\item Bash, Perl, Powershell (2)
-%\item TypeScript (1)
-%\item R (1)
-%\item Coconut (1)
-%\item Pascal (1)
-%\end{itemize}
-%
-%\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\begin{frame}[c]
-%\frametitle{Coursework: Nullable}
-%
-%\begin{center}
-%\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
-% \bl{$nullable([c_1 c_2 \ldots c_n])$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^+)$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^?)$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^{\{n\}})$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^{\{n..\}})$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^{\{..n\}})$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(r^{\{n..m\}})$} & \bl{$\dn$} & $?$\\
-% \bl{$nullable(\sim{}r)$} & \bl{$\dn$} & $?$\\
-%
-%\end{tabular}
-%\end{center}
-%
-%\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\begin{frame}[c]
-%%%\frametitle{Coursework: der}
-%
-%\begin{center}
-%\begin{tabular}{@ {}l@ {\hspace{1mm}}c@ {\hspace{1mm}}l@ {}}
-% \bl{$der\, c\, ([c_1 c_2 \ldots c_n])$} & \bl{$\dn$} & $?$\\
-% \bl{$der\, c\, (r^+)$} & \bl{$\dn$} & $?$\\
-% \bl{$der\, c\, (r^?)$} & \bl{$\dn$} & $?$\\
-% \bl{$der\, c\, (r^{\{n\}})$} & \bl{$\dn$} &
-% \bl{$if\;n=0\;then\;\ZERO\;else\;(der\,c\,r)\cdot r^{\{n-\liningnums{1}\}}$}\\
-% \bl{$der\, c\, (r^{\{n..\}})$} & \bl{$\dn$} &
-% \bl{$if\;n=0\;then (der\,c\,r)\cdot r^*$}\\
-% & & \bl{$\phantom{if\;n=0\;}else \;(der\,c\,r)\cdot r^{\{n-\liningnums{1}..\}}$}\\
-% \bl{$der\, c\, (r^{\{..n\}})$} & \bl{$\dn$} &
-% \bl{$if\;n=0\;then\;\ZERO\;else\;(der\,c\,r)\cdot r^{\{..n-\liningnums{1}\}}$}\\
-%
-% \bl{$der\, c\, (r^{\{n..m\}})$} & \bl{$\dn$} &
-% \bl{$if\;n = 0 \wedge m = 0\;then\;\ZERO\; else$}\\
-% \multicolumn{3}{l}{\bl{$if\;n = 0 \wedge m > 0\;then\;(der\,c\,r)\cdot r^{\{..m-\liningnums{1}\}}$}}\\
-% \multicolumn{3}{l}{\bl{$\phantom{if\;n = 0 \wedge m > 0\;}else
-% \;(der\,c\,r)\cdot r^{\{n-\liningnums{1}..m-\liningnums{1}\}}$}}\\
-% \bl{$der\, c\, (\sim{}r)$} & \bl{$\dn$} & $?$\\
-%\end{tabular}
-%\end{center}
-%
-%\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-%\begin{frame}[c]
-%\frametitle{Coursework: CFUN}
-%
-%\begin{center}
-%\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}}
-% \bl{$nullable(CFUN(\_))$} & \bl{$\dn$} & \bl{$false$}\\
-% \bl{$der\,c\,(CFUN(f))$} & \bl{$\dn$} &
-% \bl{$if\;f(c)\;then\;\ONE\;else\;\ZERO$}\bigskip\\
-% \bl{$CHAR(c)$} & \bl{$\dn$} & \bl{$CFUN(\lambda{}d.\;c=d)$}\\
-% \bl{$CSET([c_1,\ldots,c_n])$} & \bl{$\dn$} & \bl{$CFUN(\lambda{}d.\;d\in [c_1,\ldots,c_n])$}\\
-% \bl{$ALL$} & \bl{$\dn$} & \bl{$CFUN(\lambda{}d.\;true)$}\\
-%\end{tabular}
-%\end{center}
-%
-%\end{frame}
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
-
+
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{frame}[t]
\frametitle{Lexer, Parser}
@@ -478,7 +85,7 @@
rectangle,rounded corners=3mm,
very thick,draw=black!50,
minimum height=18mm, minimum width=20mm,
- top color=white,bottom color=black!20}]
+ top color=white,bottom color=black!20,drop shadow}]
\node (0) at (-2.3,0) {};
\node (A) at (0,0) [node] {};
@@ -1239,8 +846,8 @@
\mbox{}\\[-18mm]\mbox{}
-{\lstset{language=While}%%\fontsize{10}{12}\selectfont
-\texttt{\lstinputlisting{../progs/loops.while}}}
+??%{\lstset{language=While}%%\fontsize{10}{12}\selectfont
+%\texttt{\lstinputlisting{../progs/loops.while}}}
\end{frame}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%