--- a/hws/hw04.tex Fri Oct 16 14:27:20 2015 +0100
+++ b/hws/hw04.tex Sat Oct 17 11:24:41 2015 +0100
@@ -68,13 +68,34 @@
(Hint: You can assume you are already given a regular expression written \texttt{ALL},
that can recognise any character, and a regular expression \texttt{NOT} that recognises
the complement of a regular expression.)
+
+\item Simplify the regular expression
-\item How many basic regular expressions are there to match the string
- $abcd$? (ii) How many if they cannot include $\epsilon$ and
- $\varnothing$? (iii) How many if they are also not allowed to
- contain stars? (iv) How many if they are also not allowed to contain
- $\_ + \_$?
+\[
+(\varnothing \cdot (b \cdot c)) +
+((\varnothing \cdot c) + \epsilon)
+\]
+
+Does simplification always preserve the meaning of a regular
+expression?
+
+\item The Sulzmann algorithm contains the function $mkeps$
+ which answers how a regular expression can match the
+ empty string. What is the answer of $mkeps$ for the
+ regular expressions:
+ \[
+ \begin{array}{l}
+ (\varnothing \cdot (b \cdot c)) +
+ ((\varnothing \cdot c) + \epsilon)\\
+ (a + \varepsilon) \cdot (\varepsilon + \varepsilon)
+ \end{array}
+ \]
+
+\item What is the purpose of the record regular expression
+ in the Sulzmann algorithm?
+
+
%\item (Optional) The tokenizer in \texttt{regexp3.scala} takes as
%argument a string and a list of rules. The result is a list of tokens. Improve this tokenizer so
%that it filters out all comments and whitespace from the result.