comparison notes/tex/grammars.tex @ 25:44fd483bde00

week seven sheet and notes
author Markus Kaiser <markus.kaiser@in.tum.de>
date Sun, 01 Jun 2014 00:29:52 +0200
parents 322b0166cc24
children f7bcd68a0c12
comparison
equal deleted inserted replaced
24:322b0166cc24 25:44fd483bde00
654 \end{tikzpicture} 654 \end{tikzpicture}
655 \end{example} 655 \end{example}
656 \end{frame} 656 \end{frame}
657 } 657 }
658 658
659 \defineUnit{dpda}{%
660 \begin{frame}
661 \frametitle{Kellerautomaten}
662 \setbeamercovered{dynamic}
663
664 \begin{definition}[Kellerautomat]
665 Ein \structure{PDA} (Push-Down-Automaton) ist ein Tupel $P = (Q, \Sigma, \Gamma, \delta, q_0, Z_0, F)$ aus einer/einem
666 \begin{itemize}
667 \item \structure{Zustandsmenge} $Q$, \structure{Eingabealphabet} $\Sigma$, \structure{Kelleralphabet} $\Gamma$
668 \item \structure{Übergangsfunktion} $\delta : Q \times \left( \Sigma \cup \{\epsilon\} \right) \times \Gamma \to P(Q \times \Gamma^*)$
669 \item \structure{Startzustand} $q_0 \in Q$, \structure{Kellerinitialisierung} $Z_0 \in \Gamma$
670 \item Menge von \structure{Endzuständen} $F \subseteq Q$
671 \end{itemize}
672 \end{definition}
673
674 \vfill
675
676 \begin{definition}[Deterministischer Kellerautomat]
677 Ein PDA heißt \structure{deterministisch (DPDA)} wenn \alert{für alle} Zustände $q \in Q$, Buchstaben $a \in \Sigma$ und Kellerbuchstaben $X \in \Gamma$ gilt
678 \begin{align}
679 \abs{\delta(q, a, Z)} + \abs{\delta(q, \epsilon, Z)} \leq 1
680 \end{align}
681 \end{definition}
682 \end{frame}
683
684 \begin{frame}
685 \frametitle{Präfixbedingung}
686
687 \begin{definition}[Präfixbedingung]
688 Eine Sprache $L$ erfüllt die \structure{Präfixbedingung}, wenn kein Wort der Sprache echtes Präfix eines anderen Wortes der Sprache ist.\\
689 \begin{align}
690 \forall w \in L\ \alert{\forall s \in \Sigma^+}.\ ws \alert{\not\in} L
691 \end{align}
692 \end{definition}
693
694 \vfill
695
696 \begin{theorem}[]
697 \structure{Deterministisch kontextfreie Sprachen} werden genau dann von einem \structure{DPDA mit leerem Keller} akzeptiert, wenn sie die \alert{Präfixbedingung erfüllen}.
698 \end{theorem}
699 \end{frame}
700 }
701
702 \defineUnit{lrgrammars}{%
703 \begin{frame}
704 \frametitle{Parsing}
705
706 \begin{definition}[Parsing]
707 Beim \structure{Parsing} wird einem Wort ein Ableitungsbaum in einer Grammatik zugeordnet, indem \structure{bottom-up} die Produktionen (\structure{Reduktionen}) \alert{rückwärts} angewandt werden.\\
708 Es wird immer die linkestmögliche Reduktion angewandt.
709 \end{definition}
710 \begin{definition}[Lookahead]
711 Ein \structure{Lookahead} der Länge $k$ legt fest, dass eine Reduktion nur dann angewandt werden darf, wenn die folgenden $k$ Zeichen im Wort mit dem Lookahead übereinstimmen.
712 \end{definition}
713
714 \vfill
715
716 \begin{example}
717 \begin{columns}[T]
718 \begin{column}{.4\textwidth}
719 \vspace{-1em}
720 \begin{align}
721 S &\to Ac \mid Bbc\\
722 A &\to ab\\
723 B &\to a
724 \end{align}
725 \end{column}
726 \begin{column}{.4\textwidth}
727 \begin{tabu}to \textwidth{X|X}
728 Produktion & Lookahead \\ \tabucline{}
729 $A \to ab$ & $c$ \\
730 $B \to a$ & $d$
731 \end{tabu}
732 \end{column}
733 \end{columns}
734 \vspace{.5em}
735 Gegeben das Wort \structure{abc}.\\
736 Dann darf \alert{$B \to A$} nicht angewandt werden, \alert{$A \to ab$} jedoch schon.
737 \end{example}
738 \end{frame}
739
740 \begin{frame}[c]
741 \frametitle{LR($k$)-Grammatik}
742 \begin{definition}[LR($k$)-Grammatik]
743 Eine CFG ist eine \structure{LR($k$)-Grammatik}, wenn Lookaheads der Länge $k$ genügen, um jedem Wort eine eindeutige Ableitung zuzuordnen.
744 \end{definition}
745
746 \vspace{2em}
747
748 \begin{theorem}[]
749 Die LR($0$)-Grammatiken sind eine \structure{echte Teilmenge} der LR($1$)-Grammatiken. Diese entspechen genau den \structure{deterministisch kontextfreien Sprachen}.
750 \begin{align}
751 LR(0) \subset LR(1) = LR(k \geq 1) = DCFL
752 \end{align}
753 \end{theorem}
754 \end{frame}
755 }
756
659 \defineUnit{kontextfreiesprachen}{% 757 \defineUnit{kontextfreiesprachen}{%
660 \begin{frame} 758 \begin{frame}
661 \frametitle{Kontextfreie Sprachen} 759 \frametitle{Kontextfreie Sprachen}
662 \setbeamercovered{dynamic} 760 \setbeamercovered{dynamic}
663 761