72/80
\begin{frame}{From Right Linear Grammars to NFAs}
  
  \begin{goal}{}
    For every right linear grammar $G$ there exists an NFA $M$ with
    \begin{talign}
      L(M) = L(G)
    \end{talign}
  \end{goal}
  \pause

  \begin{construction}[$\Leftarrow$]
    Let $G=(V,T,S,P)$ be a right linear grammar.
    \pause\medskip
    
    Make $G$ to \alert{strictly} right linear.
    Then all rules are of the form
    \begin{talign}
    \alert{A \to u} \quad\text{or}\quad \alert{A \to uB}
    \end{talign}
    for $A,B \in V$, $u \in (T\cup \{\lambda\})$.
    \pause
    Let NFA $M=(Q,\Sigma,\delta,\alert{\{\,S\,\}},F)$ with 
    \begin{talign}
      \alert{\Sigma = T} && \alert{Q = V \cup \{\,\Omega\,\}} && \alert{F = \{\,\Omega\,\}}
    \end{talign}
    where $\Omega \not\in V$.
    \pause
    The transitions $\alert{\delta}$ are given by
    \begin{talign}
      A &\stackrel{u}{\to} B &&\text{for every $A \to uB$ in $G$}\\[-1mm]
      A &\stackrel{u}{\to} \Omega &&\text{for every $A \to u$ in $G$}
    \end{talign}
    \pause
    Then $S \Rightarrow^*w \in T^*$
    $\iff$ $M$ accepts $w$.
    \pause
    Hence $L(G) = L(M)$.
  \end{construction}
\end{frame}