113/162
\begin{frame}{From NPDA's to Context-Free Grammars}
  \begin{construction}
    Let $M=(Q,\Sigma,\Gamma,\delta,q_0,z,F)$ be an NPDA.
    \pause
    Transform $M$ s.t.
    \medskip
    
    \emph{Assumption}: $F=\{\,q_f\,\}$ and $q_f$ reachable only with empty stack.\\
    \pause\medskip

    We define a context-free grammar $(V,T,S,P)$ as follows:
    \begin{talign}
      T &= \Sigma &
      V &= \{\, (q\,b\,q') \mid q,q'\in Q,b \in \Gamma \,\} &
      S &=(q_0\,z\,q_f)
    \end{talign}
    \emph{Intuition}: $(q\,b\,q') \Rightarrow^+ w \iff (q,w,b)\vdash^+(q',\lambda,\lambda)$.
    \pause\medskip

    The set $P$ contains the following rules:
    \begin{itemize}\setlength{\itemsep}{0pt}
      \item 
        If $q \stackrel{\alpha[b/\lambda]}{\longrightarrow} q'$, then\\ % $(q',\lambda)\in\delta(q,\alpha,b)$, then\\
        \alert{$(q\,b\,q') \to \alpha$} in $P$.
      \item 
        If $q \stackrel{\alpha[b/c_1\cdots c_n]}{\longrightarrow} q'$ with $n\geq 1$, then\\ %$(q',c_1\cdots c_n)\in\delta(q,\alpha,b)$
        \alert{$(q\,b\,r_n) \to \alpha\,(q'\,c_1\,r_1)\,(r_1\,c_2\,r_2)\cdots(r_{n-1}\,c_n\,r_n)$}  in $P$\\
        for \emph{all} $r_1,\ldots,r_n \in Q$
    \end{itemize}
    \pause
    Then we have $L(G)=L(M)$.
  \end{construction}
\end{frame}