\begin{frame}{Example} \begin{exampleblock}{} \begin{malign} S \to aSb\mid\lambda \end{malign} The parser table is: \begin{talign} \begin{array}{l|ccc} & a & b & \$ \\ \hline S & ~S \to aSb~ & ~S \to \lambda~ & ~S \to \lambda \end{array} \end{talign}\vspace{-2ex} \begin{malign} \langle S\$,ab\$\rangle \mpause[1]{ &\rightarrow \langle aSb\$,ab\$\rangle } \mpause{ \rightarrow \langle Sb\$,b\$\rangle } \mpause{ \rightarrow \langle b\$,b\$\rangle } \mpause{ \\&\rightarrow \langle \$,\$\rangle } \mpause{ \quad \alert{\emph{accept}} } \\[1ex] \mpause{ \langle S\$,abb\$\rangle } \mpause{ &\rightarrow \langle aSb\$,abb\$\rangle } \mpause{ \rightarrow \langle Sb\$,bb\$\rangle } \mpause{ \rightarrow \langle b\$,bb\$\rangle } \mpause{ \\&\rightarrow \langle \$,b\$\rangle } \mpause{ \quad \alert{\emph{reject}} } \\[1ex] \mpause{ \langle S\$,aab\$\rangle } \mpause{ &\rightarrow \langle aSb\$,aab\$\rangle } \mpause{ \rightarrow \langle Sb\$,ab\$\rangle } \mpause{ \rightarrow \langle aSbb\$,ab\$\rangle } \mpause{ \\&\rightarrow \langle Sbb\$,b\$\rangle } \mpause{ \rightarrow \langle bb\$,b\$\rangle } \mpause{ \rightarrow \langle b\$,\$\rangle } \mpause{ \quad \alert{\emph{reject}} } \end{malign} \end{exampleblock} \pause[21] \begin{goal}{} JavaCC (Java Compiler Compiler) automatically generates a parser from an LL$(1)$ grammar. \end{goal} \end{frame}