\[ \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}} \]
  ( ) $\andop$ $\orop$ $\tt$ $\ff$ $\tm{id}$ \$
$S$ $S \longrightarrow D$$       $S \longrightarrow D$$ $S \longrightarrow D$$ $S \longrightarrow D$$  
$D$ $D \longrightarrow CD’$       $D \longrightarrow CD’$ $D \longrightarrow CD’$ $D \longrightarrow CD’$  
$D’$   $D’ \longrightarrow \epsilon$   $D’ \longrightarrow \mathord{\orop}\,C\,D’$       $D’ \longrightarrow \epsilon$
$C$ $C \longrightarrow A\,C’$       $C \longrightarrow A\,C’$ $C \longrightarrow A\,C’$ $C \longrightarrow A\,C’$  
$C’$   $C’ \longrightarrow \epsilon$ $C’ \longrightarrow \mathord{\andop}\,A\,C’$ $C’ \longrightarrow \epsilon$       $C’ \longrightarrow \epsilon$
$A$ $A \longrightarrow (D)$       $A \longrightarrow \tt$ $A \longrightarrow \ff$ $A \longrightarrow \tm{id}$