updated
authorChristian Urban <christian dot urban at kcl dot ac dot uk>
Fri, 05 Dec 2014 17:13:33 +0000
changeset 318 7975e4f0d4de
parent 317 a61b50c5d57f
child 319 e7b110f93697
updated
handouts/ho01.pdf
handouts/ho01.tex
handouts/ho02.pdf
handouts/ho02.tex
handouts/ho03.pdf
handouts/ho03.tex
mk
Binary file handouts/ho01.pdf has changed
--- a/handouts/ho01.tex	Fri Dec 05 01:00:34 2014 +0000
+++ b/handouts/ho01.tex	Fri Dec 05 17:13:33 2014 +0000
@@ -69,7 +69,7 @@
 disposable.style.email.with+symbol@example.com
 \end{lstlisting}
 
-Identifiers, or variables, in program text are often required
+As mentioned above, identifiers, or variables, in program text are often required
 to satisfy the constraints that they start with a letter and
 then can be followed by zero or more letters or numbers and
 also can include underscores, but not as the first character.
@@ -118,7 +118,8 @@
 \ref{crawler3}.\footnote{There is an interesting twist in the
 web-scraper where \pcode{re*?} is used instead of
 \pcode{re*}.} Note, however, the regular expression for
-http-addresses in web-pages is meant to be
+http-addresses in web-pages in Figure~\ref{crawler1}, Line 15, is 
+intended to be
 
 \[
 \pcode{"https?://[^"]*"}
@@ -162,7 +163,7 @@
     scaled ticks=false,
     axis lines=left,
     width=7cm,
-    height=5cm, 
+    height=4.5cm, 
     legend entries={Python,Ruby},  
     legend pos=north west,
     legend cell align=left]
@@ -217,7 +218,7 @@
     scaled ticks=false,
     axis lines=left,
     width=9cm,
-    height=5cm]
+    height=4.5cm]
 \addplot[green,mark=square*,mark options={fill=white}] table {re2b.data};
 \addplot[black,mark=square*,mark options={fill=white}] table {re3.data};
 \end{axis}
@@ -393,6 +394,8 @@
 between the different regular expressions $(r_1 + r_2) + r_3$
 and $r_1 + (r_2 + r_3)$\ldots they are not the same regular
 expression, but they have the same meaning. For example
+you can do the following calculation which shows they
+have the same meaning:
 
 \begin{eqnarray*}
 L((r_1 + r_2) + r_3) & = & L(r_1 + r_2) \cup L(r_3)\\
@@ -517,7 +520,7 @@
 specification and that the corresponding implementations do
 not contain any bugs. We are close, but not yet quite there.
 
-Despite my fascination, I am also happy to admit that regular
+My fascination non withstanding, I am also happy to admit that regular
 expressions have their shortcomings. There are some well-known
 ``theoretical'' shortcomings, for example recognising strings
 of the form $a^{n}b^{n}$. I am not so bothered by them. What I
Binary file handouts/ho02.pdf has changed
--- a/handouts/ho02.tex	Fri Dec 05 01:00:34 2014 +0000
+++ b/handouts/ho02.tex	Fri Dec 05 17:13:33 2014 +0000
@@ -133,7 +133,7 @@
 with these equivalences and non-equivalences. 
 
 
-For our matching algorithm however the following six
+For our matching algorithm however the following seven
 equivalences will play an important role:
 
 \begin{center}
@@ -333,7 +333,7 @@
 
 \noindent Again the operation $Der$ might help to rationalise
 this algorithm. We want to know whether $abc \in L(r_1)$. We
-do not know yet. But lets assume it is. Then $Der\,a\,L(r_1)$
+do not know yet. But let us assume it is. Then $Der\,a\,L(r_1)$
 builds the set where all the strings not starting with $a$ are
 filtered out. Of the remaining strings, the $a$ is stripped
 off. Then we continue with filtering out all strings not
@@ -492,7 +492,7 @@
 size of regular expressions it needs to handle. This is of
 course obvious because both $nullable$ and $der$ need to
 traverse the whole regular expression. There seems to be one
-more source of making the algorithm run faster. The derivative
+more issue for making the algorithm run faster. The derivative
 function often produces ``useless'' $\varnothing$s and
 $\epsilon$s. To see this, consider $r = ((a \cdot b) + b)^*$
 and the following two derivatives
Binary file handouts/ho03.pdf has changed
--- a/handouts/ho03.tex	Fri Dec 05 01:00:34 2014 +0000
+++ b/handouts/ho03.tex	Fri Dec 05 17:13:33 2014 +0000
@@ -497,8 +497,7 @@
 left-hand side is $q_1$ and the right-hand side $q_0\,a$. The
 right-hand side is essentially all possible ways how to end up
 in $q_1$. There is only one incoming edge from $q_0$ consuming
-an $a$. Therefore we say: if we are in $q_0$ consuming an $a$
-then we end up in $q_1$. Therefore the right hand side is
+an $a$.  Therefore the right hand side is
 state followed by character---in this case $q_0\,a$. Now lets
 have a look at the third equation: there are two incoming
 edges. Therefore we have two terms, namely $q_1\,a$ and
--- a/mk	Fri Dec 05 01:00:34 2014 +0000
+++ b/mk	Fri Dec 05 17:13:33 2014 +0000
@@ -1,6 +1,6 @@
 #!/bin/sh
 
-subdirs="slides hws slides coursework handouts" 
+subdirs="slides handouts hws coursework" 
 
 for sd in $subdirs; do
   cd $sd