| author | Christian Urban <christian.urban@kcl.ac.uk> | 
| Sun, 29 Oct 2023 00:06:30 +0100 | |
| changeset 946 | 2d579af2bb98 | 
| parent 916 | 2ab96407f350 | 
| child 955 | ca67172b8fa1 | 
| permissions | -rw-r--r-- | 
| 59 | 1 | \documentclass{article}
 | 
| 292 
7ed2a25dd115
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
194diff
changeset | 2 | \usepackage{../style}
 | 
| 681 | 3 | \usepackage{../grammar}
 | 
| 59 | 4 | |
| 5 | \begin{document}
 | |
| 6 | ||
| 7 | \section*{Homework 7}
 | |
| 8 | ||
| 916 | 9 | %\HEADER | 
| 359 
db106e5b7c4d
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
305diff
changeset | 10 | |
| 59 | 11 | \begin{enumerate}
 | 
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 12 | \item Suppose the context-sensitive grammar | 
| 59 | 13 | |
| 14 | \begin{center}
 | |
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 15 | \begin{tabular}{lcl}
 | 
| 897 | 16 | $S$ & $::=$ & $bSAA\;|\; \epsilon$\\ | 
| 17 | $A$ & $::=$ & $a$\\ | |
| 18 | $bA$ & $::=$ & $Ab$\\ | |
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 19 | \end{tabular}
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 20 | \end{center}
 | 
| 183 
b17eff695c7f
added new stuff
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
102diff
changeset | 21 | |
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 22 | where $S$ is the starting symbol of the grammar. | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 23 | Give a derivation of the string $"\!aaabaaabb"$. | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 24 | What can you say about the number of as and bs in the | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 25 | strings recognised by this grammar. | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 26 | |
| 59 | 27 | |
| 28 | \item Consider the following grammar | |
| 29 | ||
| 681 | 30 | \begin{plstx}[margin=1cm]
 | 
| 31 |   : \meta{S\/} ::= \meta{N\/}\cdot \meta{P\/}\\
 | |
| 32 |   : \meta{P\/} ::= \meta{V\/}\cdot \meta{N\/}\\
 | |
| 33 |   : \meta{N\/} ::= \meta{N\/}\cdot \meta{N\/}\\
 | |
| 34 |   : \meta{N\/} ::= \meta{A\/}\cdot \meta{N\/}\\
 | |
| 35 |   : \meta{N\/} ::= \texttt{student} \mid \texttt{trainer} \mid \texttt{team} \mid \texttt{trains}\\
 | |
| 36 |   : \meta{V\/} ::= \texttt{trains} \mid \texttt{team}\\
 | |
| 37 |   : \meta{A\/} ::= \texttt{The} \mid \texttt{the}\\
 | |
| 38 | \end{plstx}
 | |
| 39 | ||
| 59 | 40 | |
| 41 | where $S$ is the start symbol and $S$, $P$, $N$, $V$ and $A$ are non-terminals. | |
| 42 | Using the CYK-algorithm, check whether or not the following string can be parsed | |
| 43 | by the grammar: | |
| 44 | ||
| 45 | \begin{center}
 | |
| 46 | \texttt{The trainer trains the student team}
 | |
| 47 | \end{center}
 | |
| 48 | ||
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 49 | \item Transform the grammar | 
| 59 | 50 | |
| 60 | 51 | \begin{center}
 | 
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 52 | \begin{tabular}{lcl}
 | 
| 897 | 53 | $A$ & $::=$ & $0A1 \;|\; BB$\\ | 
| 54 | $B$ & $::=$ & $\epsilon \;|\; 2B$ | |
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 55 | \end{tabular}
 | 
| 60 | 56 | \end{center}
 | 
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 57 | |
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 58 | \noindent | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 59 | into Chomsky normal form. | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 60 | |
| 305 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 61 | \item Consider the following grammar $G$ | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 62 | |
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 63 | \begin{center}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 64 | \begin{tabular}{l}
 | 
| 897 | 65 | $S ::= \texttt{if0} \cdot E \cdot \texttt{then} \cdot S$\\
 | 
| 66 | $S ::= \texttt{print} \cdot S$\\
 | |
| 67 | $S ::= \texttt{begin} \cdot B\cdot \texttt{end}$\\
 | |
| 68 | $B ::= S\cdot \texttt{;}$\\
 | |
| 69 | $B ::= S\cdot \texttt{;} \cdot B$\\
 | |
| 70 | $S ::= num$\\ | |
| 71 | $E ::= num$\\ | |
| 72 | $B ::= num$ | |
| 305 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 73 | \end{tabular}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 74 | \end{center}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 75 | |
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 76 | where $S$ is the start symbol and $S$, $E$ and $B$ are | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 77 | non-terminals. | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 78 | |
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 79 | Check each rule below and decide whether, when added to $G$, | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 80 | the combined grammar is ambiguous. If yes, give a string that | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 81 | has more than one parse tree. | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 82 | |
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 83 | \begin{center}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 84 | \begin{tabular}{rl}
 | 
| 897 | 85 | (i)   & $S ::= \texttt{if0} \cdot E\cdot \texttt{then} \cdot S\cdot \texttt{else} \cdot S$\\
 | 
| 86 | (ii) & $B ::= B \cdot B$\\ | |
| 87 | (iii) & $E ::= ( \cdot E \cdot )$\\ | |
| 88 | (iv) & $E ::= E \cdot + \cdot E$ | |
| 305 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 89 | \end{tabular}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 90 | \end{center}
 | 
| 
23045b2b0b7b
updated
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
292diff
changeset | 91 | |
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 92 | |
| 897 | 93 | \item Suppose the string $``9-5+2''$. Give all ASTs that | 
| 94 | the following two grammars generate for this string. | |
| 95 | ||
| 96 | Grammar 1, where List is the starting symbol: | |
| 97 | ||
| 98 | \begin{center}
 | |
| 99 | \begin{tabular}{lcl}
 | |
| 100 | $List$ & $::=$ & $List + Digit \mid List - Digit \mid Digit$\\ | |
| 101 | $Digit$ & $::=$ & $0 \mid 1 \mid 2 \mid 3 \mid 4 \mid 5 \mid 6 \mid 7 \mid 8 \mid 9$ | |
| 102 | \end{tabular}
 | |
| 103 | \end{center}
 | |
| 104 | ||
| 105 | Grammar 2, where String is the starting symbol: | |
| 106 | ||
| 107 | \begin{center}
 | |
| 108 | \begin{tabular}{@{}lcl@{}}
 | |
| 109 | $String$ & $::=$ & $String + String \mid String - String \mid$\\ | |
| 110 | & & $0 \mid 1 \mid 2 \mid 3 \mid 4 \mid 5 \mid 6 \mid 7 \mid 8 \mid 9$ | |
| 111 | \end{tabular}
 | |
| 112 | \end{center}
 | |
| 113 | ||
| 114 | ||
| 115 | ||
| 194 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 116 | %\item {\bf (Optional)} The task is to match strings where the letters are in alphabetical order---for example, 
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 117 | %\texttt{abcfjz} would pass, but \texttt{acb} would not. Whitespace should be ignored---for example
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 118 | %\texttt{ab c d} should pass. The point is to try to get the regular expression as short as possible!
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 119 | %See: | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 120 | |
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 121 | %\begin{center}
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 122 | %\url{http://callumacrae.github.com/regex-tuesday/challenge11.html}
 | 
| 
90796ee3c17a
added
 Christian Urban <christian dot urban at kcl dot ac dot uk> parents: 
183diff
changeset | 123 | %\end{center}
 | 
| 59 | 124 | \end{enumerate}
 | 
| 125 | ||
| 126 | \end{document}
 | |
| 127 | ||
| 128 | %%% Local Variables: | |
| 129 | %%% mode: latex | |
| 130 | %%% TeX-master: t | |
| 131 | %%% End: |