diff options
-rw-r--r-- | ws2015/eip/blaetter/04/H4-1.md | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/ws2015/eip/blaetter/04/H4-1.md b/ws2015/eip/blaetter/04/H4-1.md new file mode 100644 index 0000000..cb5695f --- /dev/null +++ b/ws2015/eip/blaetter/04/H4-1.md | |||
@@ -0,0 +1,34 @@ | |||
1 | --- | ||
2 | header-includes: | ||
3 | - \usepackage[perp]{backnaur} | ||
4 | - \newcommand{\nonterminal}[1]{\ensuremath{\langle \text{\emph{#1}} \rangle}} | ||
5 | --- | ||
6 | |||
7 | # Backus-Naur-Form | ||
8 | |||
9 | a) | ||
10 | i) Ja. | ||
11 | |||
12 | - Wir starten in \nonterminal{Smiley}. | ||
13 | - Wir springen in \nonterminal{FröhlicherSmiley}. | ||
14 | - Von den möglichen Terminalen \texttt{:}, \texttt{;}, und \texttt{B} passt keines auf \texttt{8}. | ||
15 | - Wir springen zurück in \nonterminal{Smiley}. | ||
16 | - Wir springen in \nonterminal{TraurigerSmiley}. | ||
17 | - Von den möglichen Terminalen \texttt{:}, und \texttt{8} passt \texttt{8}. | ||
18 | - Wir springen in \nonterminal{Nase}. | ||
19 | - Von den möglichen Terminalen \texttt{o}, und \texttt{-} passt \texttt{o}. | ||
20 | - Wir sind am Ende von \nonterminal{Nase}. | ||
21 | - Wir springen in \nonterminal{TraurigerMund}. | ||
22 | - Von den möglichen Terminalen \texttt{(}, und \texttt{|} passt \texttt{|}. | ||
23 | - Wir sind am Ende von \nonterminal{TraurigerMund}, \nonterminal{TraurigerSmiley}, \nonterminal{Smiley}. | ||
24 | |||
25 | ii) Nein. | ||
26 | Nach dem ersten \texttt{(} werden die restlichen \texttt{(} nicht mehr gematcht im Gegensatz zu \nonterminal{FröhlicherMund} erlaubt \nonterminal{TraurigerMund} keine Wiederholungen. | ||
27 | |||
28 | b) \texttt{:-)))} | ||
29 | c) | ||
30 | |||
31 | \begin{bnf*} | ||
32 | \bnfprod{SmileyListe}{\bnfpn{TraurigerSmiley} \bnfsp (\bnfpn{SmileyListe'} \bnfor \bnfes)} \\ | ||
33 | \bnfprod{SmileyListe'}{\bnfpn{FröhlicherSmiley} \bnfsp (\bnfpn{SmileyListe} \bnfor \bnfes)} | ||
34 | \end{bnf*} | ||