\begin{frame}{$\first{A}$}
\begin{goal}{}
We consider the first terminal letters derivable from a word:
\begin{talign}
\first{w} =
\ &\{\, a \in T \mid w \Rightarrow^* a\ldots \,\} \; \cup \; \{\, \lambda \mid w \Rightarrow^* \lambda \,\}
\end{talign}
\end{goal}
\pause
\begin{block}{Algorithm}
Let \( \text{PreFirst}(w) \) be the smallest set such that:
\begin{itemize}
\item \( w \in \text{PreFirst}(w) \)
\item \( a \in \text{PreFirst}(w) \) if \( av \in \text{PreFirst}(w) \)
\item \( B \in \text{PreFirst}(w) \) if \( Bv \in \text{PreFirst}(w) \)
\item \( v \in \text{PreFirst}(w) \) if \( Bv \in \text{PreFirst}(w) \) and \(B\) erasable
\item \( v \in \text{PreFirst}(w) \) for every \( A \in \text{PreFirst}(w) \) and rule \( A \to v \)
\end{itemize}
Then \( \text{First}(w) \) consists of
\begin{itemize}
\item all terminal letters \( a \in T \) such that \( a \in \text{PreFirst}(w) \), and
\item \( \lambda \) if \( w = A_1 A_2 \ldots A_n \) for erasable variables \(A_1,\ldots,A_n\).
\end{itemize}
\end{block}
\end{frame}