diff -r c7e944977e39 -r 68b1a84efce6 cws/cw02.tex --- a/cws/cw02.tex Wed Sep 17 14:29:52 2025 +0100 +++ b/cws/cw02.tex Wed Sep 17 15:11:48 2025 +0100 @@ -44,7 +44,7 @@ %be tempted to ask Github Copilot for help or do any other %shenanigans like this! -\subsection*{Question 1} +\subsection*{Task 1} To implement a lexer for the WHILE language, you first need to design the appropriate regular expressions for the @@ -146,7 +146,7 @@ for identifiers and numbers. Feel free to use the general character constructor \textit{CFUN} introduced in CW 1. -\subsection*{Question 2} +\subsection*{Task 2} Implement the Sulzmann \& Lu lexer from the lectures. For this you need to implement the functions $nullable$ and $der$ @@ -191,7 +191,7 @@ lectures to your lexer and complete the function \pcode{env} so that it returns all assignments from a value (this then allows you to extract easily the tokens from a value in the next -question).\medskip +task).\medskip \noindent Finally make that the function \texttt{lexing\_simp} generates @@ -212,7 +212,7 @@ -\subsection*{Question 3} +\subsection*{Task 3} Make sure your lexer from Q2 also simplifies regular expressions after each derivation step and rectifies the computed values after each @@ -251,7 +251,7 @@ % \mbox{} % \noindent -% \textbf{Question 2:}\\ (Use mathematical notation, such as $r^+$, rather than code, such as \code{PLUS(r)}) +% \textbf{Task 2:}\\ (Use mathematical notation, such as $r^+$, rather than code, such as \code{PLUS(r)}) % \begin{center} % \def\arraystretch{1.6}