diff -r b528d1d3d3c3 -r 59e005dcf163 cws/main_cw03.tex --- a/cws/main_cw03.tex Thu Nov 02 13:53:37 2023 +0000 +++ b/cws/main_cw03.tex Thu Nov 02 23:34:53 2023 +0000 @@ -144,10 +144,10 @@ This Scala assignment comes with a reference implementation in form of a \texttt{jar}-file. This allows you to run any test cases on your own -computer. For example you can call Scala on the command line with the -option \texttt{-cp re.jar} and then query any function from the -\texttt{re.scala} template file. As usual you have to prefix the calls -with \texttt{M3} or import this object. Since some tasks +computer. For example you can call \texttt{scala-cli} on the command +line with the option \texttt{--extra-jars re.jar} and then query any function +from the \texttt{re.scala} template file. As usual you have to prefix +the calls with \texttt{M3} or import this object. Since some tasks are time sensitive, you can check the reference implementation as follows: if you want to know, for example, how long it takes to match strings of $a$'s using the regular expression $(a^*)^*\cdot b$ you can @@ -155,7 +155,7 @@ \begin{lstlisting}[xleftmargin=1mm,numbers=none,basicstyle=\ttfamily\small] -$ scala -cp re.jar +$ scala-cli --extra-jars re.jar scala> import M3._ scala> for (i <- 0 to 5000000 by 500000) { | println(f"$i: ${time_needed(2, matcher(EVIL, "a" * i))}%.5f secs.") @@ -343,7 +343,7 @@ $acc$. In the fourth case we spill out the $rs$ by appending the $rs$ to the end of the accumulator. Similarly in the last case we append the single regular expression $r$ to the end of the - accumulator. I let you think why the ``end'' is needed. \mbox{}\hfill\mbox{[1 Mark]} + accumulator. I let you think why you have to add it to the end. \mbox{}\hfill\mbox{[1 Mark]} \item[(5)] Before we can simplify regular expressions, we need what is often called \emph{smart constructors} for $\sum$ and $\prod$. While the ``normal'' constructors @@ -516,7 +516,7 @@ you have implemented. How long can a string of $a$'s be in your matcher and still stay within the 30 seconds time limit? It should be mu(uu)$^*$ch better than your off-the-shelf matcher in your -bog-standard language. +bog-standard programming language. \begin{center} \begin{tabular}{@{}cc@{}}