\[ \newcommand{\tr}{\Rightarrow} \newcommand{\trs}{\tr^{\!\ast}} \newcommand{\rlnm}[1]{\mathsf{(#1)}} \newcommand{\rred}[1]{\xrightarrow{#1}} \newcommand{\rreds}[1]{\mathrel{\xrightarrow{#1}\!\!^*}} \newcommand{\cl}{\mathsf{Cl}} \newcommand{\pow}{\mathcal{P}} \newcommand{\matches}{\mathrel{\mathsf{matches}}} \newcommand{\kw}[1]{\mathsf{#1}} \newcommand{\andop}{\mathrel{\&\!\&}} \newcommand{\orop}{\mathrel{\|}} \newcommand{\ff}{\mathsf{false}} \newcommand{\tt}{\mathsf{true}} \newcommand{\abra}[1]{\langle #1 \rangle} \newcommand{\bnfnt}[1]{\abra{\small \textsf{#1}}} \newcommand{\llbracket}{[\![} \newcommand{\rrbracket}{]\!]} \newcommand{\first}{\mathsf{First}} \newcommand{\nullable}{\mathsf{Nullable}} \newcommand{\follow}{\mathsf{Follow}} \newcommand{\tm}[1]{\mathsf{#1}} \]

Part of the While grammar for Statements and Arithmetic Expressions:

\[\begin{array}{rcl} S &\longrightarrow& V \leftarrow A \mid \cdots{}\\ A &\longrightarrow& V \mid N \mid A + A \mid \cdots{}\\[6mm] L &\longrightarrow& a \mid b \mid \cdots{} \mid z \\ U &\longrightarrow& A \mid B \mid \cdots{} \mid Z \mid '\\ M &\longrightarrow& L\ M \mid U\ M \mid \epsilon\\ V &\longrightarrow& L\ M\\ D &\longrightarrow& 0 \mid 1 \mid \cdots{} \mid 9\\ E &\longrightarrow& D\ E \mid \epsilon\\ N &\longrightarrow& D\ E \end{array}\]

Modified grammar to account for lexing stage:

\[\begin{array}{rcl} \mathit{S} &\longrightarrow& \mathsf{id}\ \mathsf{assn}\ \mathit{A} \mid \cdots{}\\ \mathit{A} &\longrightarrow& \mathsf{id} \mid \mathsf{num} \mid \mathit{A}\ \mathsf{plus}\ \mathit{A} \mid \cdots{} \end{array}\]