# HG changeset patch # User Christian Urban # Date 1587060946 -3600 # Node ID e3c64f22dd3172fedbcd6226204cae7147c553bc # Parent ecbed0155f72a4245a3cc657e406a13e23788692 added slides from Rochester diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.01 Binary file Literature/Rochester/main.pdf.01 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.02 Binary file Literature/Rochester/main.pdf.02 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.03 Binary file Literature/Rochester/main.pdf.03 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.04 Binary file Literature/Rochester/main.pdf.04 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.05 Binary file Literature/Rochester/main.pdf.05 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.06 Binary file Literature/Rochester/main.pdf.06 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.07 Binary file Literature/Rochester/main.pdf.07 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.08 Binary file Literature/Rochester/main.pdf.08 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.09 Binary file Literature/Rochester/main.pdf.09 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.10 Binary file Literature/Rochester/main.pdf.10 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.11 Binary file Literature/Rochester/main.pdf.11 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.12 Binary file Literature/Rochester/main.pdf.12 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.13 Binary file Literature/Rochester/main.pdf.13 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.14 Binary file Literature/Rochester/main.pdf.14 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.15 Binary file Literature/Rochester/main.pdf.15 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.16 Binary file Literature/Rochester/main.pdf.16 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.17 Binary file Literature/Rochester/main.pdf.17 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.18 Binary file Literature/Rochester/main.pdf.18 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.19 Binary file Literature/Rochester/main.pdf.19 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.20 Binary file Literature/Rochester/main.pdf.20 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.21 Binary file Literature/Rochester/main.pdf.21 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.22 Binary file Literature/Rochester/main.pdf.22 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.23 Binary file Literature/Rochester/main.pdf.23 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.24 Binary file Literature/Rochester/main.pdf.24 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.25 Binary file Literature/Rochester/main.pdf.25 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.26 Binary file Literature/Rochester/main.pdf.26 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.27 Binary file Literature/Rochester/main.pdf.27 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.28 Binary file Literature/Rochester/main.pdf.28 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.29 Binary file Literature/Rochester/main.pdf.29 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.30 Binary file Literature/Rochester/main.pdf.30 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.31 Binary file Literature/Rochester/main.pdf.31 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.32 Binary file Literature/Rochester/main.pdf.32 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.33 Binary file Literature/Rochester/main.pdf.33 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.34 Binary file Literature/Rochester/main.pdf.34 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.35 Binary file Literature/Rochester/main.pdf.35 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.36 Binary file Literature/Rochester/main.pdf.36 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.37 Binary file Literature/Rochester/main.pdf.37 has changed diff -r ecbed0155f72 -r e3c64f22dd31 Literature/Rochester/main.pdf.38 Binary file Literature/Rochester/main.pdf.38 has changed diff -r ecbed0155f72 -r e3c64f22dd31 handouts/ho04.pdf Binary file handouts/ho04.pdf has changed diff -r ecbed0155f72 -r e3c64f22dd31 handouts/ho04.tex --- a/handouts/ho04.tex Fri Apr 10 16:30:52 2020 +0100 +++ b/handouts/ho04.tex Thu Apr 16 19:15:46 2020 +0100 @@ -884,15 +884,25 @@ (top\_level:\texttt{ac.uk})]$ \end{center} -Recall that we want to lex a little programming language, -called the \emph{While}-language. A simple program in this -language is shown in Figure~\ref{while}. The main keywords in -this language are \pcode{while}, \pcode{if}, \pcode{then} and -\pcode{else}. As usual we have syntactic categories for -identifiers, operators, numbers and so on. For this we would -need to design the corresponding regular expressions to -recognise these syntactic categories. I let you do this design -task. Having these regular expressions at our disposal, we can +Recall that we want to lex a little programming language, called the +\emph{While}-language. A simple program in this language is shown in +Figure~\ref{while}. The main keywords in this language are +\pcode{while}, \pcode{if}, \pcode{then} and +\pcode{else}.\footnote{Contrast this with the COBOL programming + language, which was developed around 1960 and thought to be dead for + many decades---even your friendly lecturer is not old enough to have + been taught this language. Anyway, this language had over 600 + keywords (or what they called \emph{reserved words}). Interestingly + though this language is still used in 2020: during the height of + Corona crisis the State of New Jewrsey in the US was looking for + COBOL programers who could fix the state's national insurance + webpage. You were probably paid in gold and diamonds, if you were + able to program in COBOL. If you fixed their webpage, surely you + were allowed to marry the governer's son/daughter. } As usual we +have syntactic categories for identifiers, operators, numbers and so +on. For this we would need to design the corresponding regular +expressions to recognise these syntactic categories. I let you do this +design task. Having these regular expressions at our disposal, we can form the regular expression \begin{figure}[t] diff -r ecbed0155f72 -r e3c64f22dd31 hws/hw06.tex --- a/hws/hw06.tex Fri Apr 10 16:30:52 2020 +0100 +++ b/hws/hw06.tex Thu Apr 16 19:15:46 2020 +0100 @@ -70,13 +70,21 @@ recognise the strings (for 1) $ab$ and (for 2) $aaa$. Give in each case \emph{all} the values and indicate which one is the POSIX value. +\item Given the regular expression $(a + b)^* \cdot b \cdot (a + b)^*$, + which of the following regular expressions are equyivalent + +\begin{center} +\begin{tabular}{ll} + 1) & $(ab + bb)^* \cdot (a + b)^*$\\ % no + 2) & $(a + b)^* \cdot (ba + bb + b) \cdot (a + b)^*$\\ % yes + 3) & $(a + b)^* \cdot (a + b) \cdot (a + b)^*$ % no +\end{tabular} +\end{center} + \item Parsing combinators consist of atomic parsers, alternative parsers, sequence parsers and semantic actions. What is the purpose of (1) atomic parsers and of (2) semantic actions? - - - \item \POSTSCRIPT \end{enumerate} diff -r ecbed0155f72 -r e3c64f22dd31 slides/slides01.tex --- a/slides/slides01.tex Fri Apr 10 16:30:52 2020 +0100 +++ b/slides/slides01.tex Thu Apr 16 19:15:46 2020 +0100 @@ -18,6 +18,9 @@ % beamer stuff \renewcommand{\slidecaption}{CFL 01, King's College London} +%% https://cs.rit.edu/~hh/teaching/_media/cc18/lectures/lect1/main.pdf +%% https://cs.rit.edu/~hh/teaching/_media/cc18/lectures/lect2/main.pdf +%% https://cs.rit.edu/~hh/teaching/_media/cc18/lectures/lect3/main.pdf \begin{document}