hw08.tex
author Christian Urban <christian dot urban at kcl dot ac dot uk>
Fri, 23 Nov 2012 21:21:27 +0000
changeset 75 898c25a4e399
parent 60 hw07.tex@68d664c204d2
child 76 373cf55a3ca5
permissions -rw-r--r--
tuned
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     1
\documentclass{article}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     2
\usepackage{charter}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     3
\usepackage{hyperref}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     4
\usepackage{amssymb}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     5
\usepackage{amsmath}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     6
\usepackage{tikz}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     7
\usetikzlibrary{automata}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     8
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
     9
\newcommand{\dn}{\stackrel{\mbox{\scriptsize def}}{=}}% for definitions
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    10
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    11
\begin{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    12
75
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    13
\section*{Homework 8}
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    14
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    15
\begin{enumerate}
75
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    16
\item Suppose the following grammar for the WHILE-language:
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    17
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    18
\begin{center}
75
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    19
\begin{tabular}{l}
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    20
$S \rightarrow N\cdot P$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    21
$P \rightarrow V\cdot N$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    22
$N \rightarrow N\cdot N$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    23
$N \rightarrow A \cdot N$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    24
$N \rightarrow \texttt{student} \;|\; \texttt{trainer} \;|\; \texttt{team} \;|\; \texttt{trains}$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    25
$V \rightarrow \texttt{trains} \;|\; \texttt{team}$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    26
$A \rightarrow \texttt{The} \;|\; \texttt{the}$\\
Christian Urban <christian dot urban at kcl dot ac dot uk>
parents: 60
diff changeset
    27
\end{tabular}
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    28
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    29
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    30
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    31
\item Consider the following grammar 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    32
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    33
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    34
\begin{tabular}{l}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    35
$S \rightarrow N\cdot P$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    36
$P \rightarrow V\cdot N$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    37
$N \rightarrow N\cdot N$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    38
$N \rightarrow A \cdot N$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    39
$N \rightarrow \texttt{student} \;|\; \texttt{trainer} \;|\; \texttt{team} \;|\; \texttt{trains}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    40
$V \rightarrow \texttt{trains} \;|\; \texttt{team}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    41
$A \rightarrow \texttt{The} \;|\; \texttt{the}$\\
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    42
\end{tabular}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    43
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    44
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    45
where $S$ is the start symbol and $S$, $P$, $N$, $V$ and $A$ are non-terminals.
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    46
Using the CYK-algorithm, check whether or not the following string can be parsed
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    47
by the grammar:
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    48
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    49
\begin{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    50
\texttt{The trainer trains the student team}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    51
\end{center}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    52
60
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    53
\item {\bf (Optional)} The task is to match strings where the letters are in alphabetical order---for example, 
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    54
\texttt{abcfjz} would pass, but \texttt{acb} would not. Whitespace should be ignored---for example
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    55
\texttt{ab c d} should pass. The point is to try to get the regular expression as short as possible!
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    56
See:
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    57
60
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    58
\begin{center}
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    59
\url{http://callumacrae.github.com/regex-tuesday/challenge11.html}
68d664c204d2 updated
Christian Urban <urbanc@in.tum.de>
parents: 59
diff changeset
    60
\end{center}
59
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    61
\end{enumerate}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    62
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    63
\end{document}
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    64
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    65
%%% Local Variables: 
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    66
%%% mode: latex
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    67
%%% TeX-master: t
Christian Urban <urbanc@in.tum.de>
parents:
diff changeset
    68
%%% End: