diff -r 94cf7cb122b3 -r c479d6ef57f8 slides/slides08.tex --- a/slides/slides08.tex Thu Nov 27 18:18:36 2025 +0000 +++ b/slides/slides08.tex Thu Dec 04 21:33:25 2025 +0000 @@ -158,37 +158,6 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\begin{frame}[t,fragile] - -\small -\begin{textblock}{13}(-0.5,1) -\begin{lstlisting}[numbers=none] -def mkeps(r: Rexp) : Val = r match { - ... - case PLUS(r) => Stars(List(mkeps(r))) - case OPTIONAL(r) => Stars(Nil) - case NTIMES(r, n) => Stars(List.fill(n)(mkeps(r))) -} - -def inj(r: Rexp, c: Char, v: Val) : Val = (r, v) match { - ... - case (RANGE(_), Empty) => Chr(c) - case (PLUS(r), Sequ(v1, Stars(vs))) => Stars(inj(r, c, v1)::vs) - case (OPTIONAL(r), v) => Stars(inj(r, c, v)::Nil) - case (NTIMES(r, n), Sequ(v1, Stars(vs))) => Stars(inj(r, c, v1)::vs) -} -\end{lstlisting} -\end{textblock} - - -\begin{textblock}{5}(3,13.5) -\bl{$r^? \dn r^{\{0..1\}}$} -\end{textblock} - -\end{frame} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - % %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%