# HG changeset patch # User Christian Urban # Date 1603540938 -3600 # Node ID 3b1136fb6beec7444e3c07dc1e0cd88b4b00132d # Parent 4b2496bc79b2ff9a674a235d894566386c81820d updated diff -r 4b2496bc79b2 -r 3b1136fb6bee progs/app05.scala --- a/progs/app05.scala Wed Oct 21 16:09:44 2020 +0100 +++ b/progs/app05.scala Sat Oct 24 13:02:18 2020 +0100 @@ -12,7 +12,6 @@ } ... } - def F_RIGHT(f: Val => Val) = (v:Val) => Right(f(v)) def F_LEFT(f: Val => Val) = (v:Val) => Left(f(v)) def F_ALT(f1: Val => Val, f2: Val => Val) = diff -r 4b2496bc79b2 -r 3b1136fb6bee progs/app06.scala --- a/progs/app06.scala Wed Oct 21 16:09:44 2020 +0100 +++ b/progs/app06.scala Sat Oct 24 13:02:18 2020 +0100 @@ -5,17 +5,16 @@ (r1s, r2s) match { case (ZERO, _) => (ZERO, F_ERROR) case (_, ZERO) => (ZERO, F_ERROR) - case (ONE, _) => (r2s, F_SEQ_Void1(f1s, f2s)) - case (_, ONE) => (r1s, F_SEQ_Void2(f1s, f2s)) + case (ONE, _) => (r2s, F_SEQ_Empty1(f1s, f2s)) + case (_, ONE) => (r1s, F_SEQ_Empty2(f1s, f2s)) case _ => (SEQ(r1s,r2s), F_SEQ(f1s, f2s)) } } - ... - -def F_SEQ_Void1(f1: Val => Val, f2: Val => Val) = - (v:Val) => Sequ(f1(Void), f2(v)) -def F_SEQ_Void2(f1: Val => Val, f2: Val => Val) = - (v:Val) => Sequ(f1(v), f2(Void)) + ...} +def F_SEQ_Empty1(f1: Val => Val, f2: Val => Val) = + (v:Val) => Sequ(f1(Empty), f2(v)) +def F_SEQ_Empty2(f1: Val => Val, f2: Val => Val) = + (v:Val) => Sequ(f1(v), f2(Empty)) def F_SEQ(f1: Val => Val, f2: Val => Val) = (v:Val) => v match { case Sequ(v1, v2) => Sequ(f1(v1), f2(v2)) } diff -r 4b2496bc79b2 -r 3b1136fb6bee slides/slides01.pdf Binary file slides/slides01.pdf has changed diff -r 4b2496bc79b2 -r 3b1136fb6bee slides/slides04.pdf Binary file slides/slides04.pdf has changed diff -r 4b2496bc79b2 -r 3b1136fb6bee slides/slides04.tex --- a/slides/slides04.tex Wed Oct 21 16:09:44 2020 +0100 +++ b/slides/slides04.tex Sat Oct 24 13:02:18 2020 +0100 @@ -10,10 +10,15 @@ \pgfplotsset{compat=1.11} +\usepackage{tcolorbox} +\newtcolorbox{mybox}{colback=red!5!white,colframe=red!75!black} +\newtcolorbox{mybox2}[1]{colback=red!5!white,colframe=red!75!black,fonttitle=\bfseries,title=#1} +\newtcolorbox{mybox3}[1]{colback=Cyan!5!white,colframe=Cyan!75!black,fonttitle=\bfseries,title=#1} + % a hand written lexer for SML % https://ponyo.org/ % https://github.com/eatonphil/ponyo/blob/master/src/Sml/Lexer.sml - +\beamertemplateballitem \newcommand{\bl}[1]{\textcolor{blue}{#1}} @@ -914,7 +919,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c] -\frametitle{Rectification} +\frametitle{Rectification $\_ + \_$} \begin{center} \begin{tabular}{l} @@ -959,7 +964,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c] -\frametitle{Rectification} +\frametitle{Rectification $\_ \cdot \_$} \begin{center} \begin{tabular}{@{\hspace{-3mm}}l} @@ -1218,178 +1223,177 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[c] -\begin{center} -\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}} -\bl{$zeroable(\ZERO)$} & \bl{$\dn$} & \bl{$true$}\\ -\bl{$zeroable(\ONE)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ -\bl{$zeroable(c)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ -\bl{$zeroable(r_1 + r_2)$} & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ -\bl{$zeroable(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\ -\bl{$zeroable(r^*)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ -\end{tabular} -\end{center} - -\begin{center} -\bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$} -\end{center} - - -\end{frame} +%\begin{frame}[c] +%\begin{center} +%\begin{tabular}{@ {}l@ {\hspace{2mm}}c@ {\hspace{2mm}}l@ {}} +%\bl{$zeroable(\ZERO)$} & \bl{$\dn$} & \bl{$true$}\\ +%\bl{$zeroable(\ONE)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ +%\bl{$zeroable(c)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ +%\bl{$zeroable(r_1 + r_2)$} & \bl{$\dn$} & \bl{$zeroable(r_1) \wedge zeroable(r_2)$}\\ +%\bl{$zeroable(r_1 \cdot r_2)$} & \bl{$\dn$} & \bl{$zeroable(r_1) \vee zeroable(r_2)$}\\ +%\bl{$zeroable(r^*)$} & \bl{$\dn$} & \bl{$\textit{false}$}\\ +%\end{tabular} +%\end{center} +% +%\begin{center} +%\bl{$zeroable(r)$} if and only if \bl{$L(r) = \{\}$} +%\end{center} +% +% +%\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] +%\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{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}[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{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} @@ -1451,24 +1455,24 @@ % \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{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} +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -1647,7 +1651,78 @@ % %\end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - + +\begin{frame}[t] +\begin{mybox3}{} + Are dfas completed by definition as in do they have a to have transitions + for every char at every state? +\end{mybox3} +\end{frame} + +\begin{frame}[t] +\begin{mybox3}{} + How can you tell if a language will be regular or irregular? +\end{mybox3} +\end{frame} + +\begin{frame}<1-12>[c] +\end{frame} + +\begin{frame}[c] + \small + \begin{itemize} +\item[$\bullet$] contentwise probably the most enjoyable module I have had so far at KCL + +\item[$\bullet$] I personally found the coursework sheets a bit unclear. For example I couldnt see what was required from the CFUN section but once explained it actually was very easy and didnt take long to get working + +\item[$\bullet$] Please can tutorial sessions be recorded \& linked on Keats. + +\item[$\bullet$] One of the best taught modules I've had, with a genuinely interested and engaging lecturer. Thanks Dr.~Urban! +\end{itemize} +\end{frame} + +\begin{frame}[c] + \small + \begin{itemize} +\item[$\bullet$] Dr.~Urban is honestly a great lecturer, he's incredibly helpful and responsive. He also teaches at a very good pace and explains things clearly so students who sometimes struggle with the content like myself can keep up. It's a pleasure to learn from him. + +\item[$\bullet$] I just wish the Coursework content was explained better, in such a way that allows students to get on with the coursework as soon as possible. + +\item[$\bullet$] I'm thoroughly enjoying the module so far. I find that the handouts and homework really solidify my knowledge and the feedback is extremely useful. I enjoy doing the homework and then using the feedback alongside the workshop to correct where I have gone wrong. + +\item[$\bullet$] I enjoy this module and think it is taught well. The homework is very useful. +\end{itemize} +\end{frame} + +\begin{frame}[c] + \begin{center} + \begin{tabular}{cc} + \includegraphics[scale=0.3]{s1.png} & + \includegraphics[scale=0.3]{s2.png} \\ + \includegraphics[scale=0.3]{s3.png} & + \includegraphics[scale=0.3]{s4.png} \\ + \end{tabular} + \end{center} +\end{frame} + +\begin{frame}[c] + \begin{center} + \begin{tabular}{cc} + \includegraphics[scale=0.3]{s5.png} & + \includegraphics[scale=0.3]{s6.png} \\ + \includegraphics[scale=0.3]{s7.png} & + \includegraphics[scale=0.3]{s8.png} \\ + \end{tabular} + \end{center} +\end{frame} + +\begin{frame}[c] + \begin{center} + \begin{tabular}{cc} + \includegraphics[scale=0.3]{s9.png} + \end{tabular} + \end{center} +\end{frame} \end{document}