# HG changeset patch # User cu # Date 1506593051 -3600 # Node ID 25580bf89ac007c05efe2a3c82040f5c611a51b0 # Parent c78bb592a0349412c3a4f64cf0a4b74561ff1146 typos diff -r c78bb592a034 -r 25580bf89ac0 handouts/graphs.pdf Binary file handouts/graphs.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho01.pdf Binary file handouts/ho01.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho02.pdf Binary file handouts/ho02.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho02.tex --- a/handouts/ho02.tex Wed Sep 27 21:29:25 2017 +0100 +++ b/handouts/ho02.tex Thu Sep 28 11:04:11 2017 +0100 @@ -23,7 +23,7 @@ match the strings). To see the substantial differences in the left and right plots below, note the different scales of the $x$-axes. - + \begin{center} Graphs: $(a^*)^* \cdot b$ and strings $\underbrace{a\ldots a}_{n}$ \begin{tabular}{@{}cc@{}} @@ -282,7 +282,7 @@ that they hold. As an aside, there has been a lot of research about questions like: Can one always decide when two regular expressions are equivalent or not? What does an algorithm look like to decide this -efficiently? +efficiently? So in general it is not a trivial problem. \subsection*{The Matching Algorithm} @@ -726,7 +726,7 @@ \end{center} \noindent -To reacap, Python and Ruby needed approximately 30 seconds to match a +To recap, Python and Ruby needed approximately 30 seconds to match a string of 28 \texttt{a}s and the regular expression $a^{?\{n\}} \cdot a^{\{n\}}$. We need a third of this time to do the same with strings up to 11,000 \texttt{a}s. Similarly, Java and Python needed 30 @@ -774,7 +774,7 @@ but it seems it is a combination of the clauses for \texttt{ALT} and \texttt{SEQ}. In the latter case we call \texttt{der} with a single character and this potentially produces an alternative. -The derivative of such an alternative can then be more effeciently +The derivative of such an alternative can then be more efficiently calculated by \texttt{ders2} since it pushes a whole string under an \texttt{ALT}. The numbers are that in the second case $(a^*)^* \cdot b$ both versions are pretty much the same, but in the @@ -1046,7 +1046,7 @@ recipes} is already a big step in actually performing these proofs. If you do not believe it, proofs have helped me to make sure my code is correct and in several instances prevented me of letting slip -embarassing mistakes into the `wild'. +embarrassing mistakes into the `wild'. \end{document} diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho03.pdf Binary file handouts/ho03.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho04.pdf Binary file handouts/ho04.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho05.pdf Binary file handouts/ho05.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho06.pdf Binary file handouts/ho06.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho07.pdf Binary file handouts/ho07.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/ho08.pdf Binary file handouts/ho08.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/notation.pdf Binary file handouts/notation.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 handouts/scala-ho.pdf Binary file handouts/scala-ho.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 pics/compcert.png Binary file pics/compcert.png has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides01.pdf Binary file slides/slides01.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides01.tex --- a/slides/slides01.tex Wed Sep 27 21:29:25 2017 +0100 +++ b/slides/slides01.tex Thu Sep 28 11:04:11 2017 +0100 @@ -6,9 +6,6 @@ \hfuzz=220pt -%\setmonofont[Scale=.88]{Consolas} -%\newfontfamily{\consolas}{Consolas} - \lstset{language=Scala, style=mystyle, numbersep=0pt, @@ -25,7 +22,7 @@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[t] -\frametitle{% +\frametitle{% \begin{tabular}{@ {}c@ {}} \\[-3mm] \LARGE Compilers and \\[-1mm] @@ -38,7 +35,7 @@ %\footnotesize\textcolor{gray}{Antikythera automaton, 100 BC (Archimedes?)} \end{center} -\normalsize + \normalsize \begin{center} \begin{tabular}{ll} Email: & christian.urban at kcl.ac.uk\\ @@ -47,7 +44,6 @@ \end{tabular} \end{center} - \end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -266,11 +262,10 @@ \small\centering matching \texttt{[a?]\{n\}[a]\{n\}} and \texttt{[a*]*b} against $\underbrace{\texttt{a}...\texttt{a}}_n$ -\end{frame} +\end{frame} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \begin{frame}[c] \frametitle{Lectures 1 - 5} diff -r c78bb592a034 -r 25580bf89ac0 slides/slides02.pdf Binary file slides/slides02.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides02.tex --- a/slides/slides02.tex Wed Sep 27 21:29:25 2017 +0100 +++ b/slides/slides02.tex Thu Sep 28 11:04:11 2017 +0100 @@ -1122,7 +1122,7 @@ \lstinputlisting[numbers=none]{../progs/app52.scala} \end{bubble} \end{textblock}} - + \end{frame} diff -r c78bb592a034 -r 25580bf89ac0 slides/slides03.pdf Binary file slides/slides03.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides04.pdf Binary file slides/slides04.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides05.pdf Binary file slides/slides05.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides06.pdf Binary file slides/slides06.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides07.pdf Binary file slides/slides07.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides08.pdf Binary file slides/slides08.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides09.pdf Binary file slides/slides09.pdf has changed diff -r c78bb592a034 -r 25580bf89ac0 slides/slides10.pdf Binary file slides/slides10.pdf has changed