\[ \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}{\parallel} \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}} \newcommand{\nt}[1]{\mathit{#1}} \newcommand{\Coloneqq}{::=} \newcommand{\abs}[1]{|#1|} \]
\[\begin{array}{lcl} B &\Coloneqq& A\ B'\\ B' &\Coloneqq& \andop A\ B' \mid \mathord{\orop}\ A\ B' \mid \epsilon \\ A &\Coloneqq& \tt \mid \ff \mid (B) \end{array}\]


\[\begin{array}{|c|c|c|c|c|}\hline \text{NT} & \tt & \ff & ( & ) & \andop & \orop \\\hline B & B \Coloneqq AB' & B \Coloneqq AB' & B \Coloneqq AB' & & & \\ B' & & & & B' \Coloneqq \epsilon & B' \Coloneqq \mathord{\andop}AB' & B' \Coloneqq \mathord{\orop}AB'\\ A & A \Coloneqq \tt & A \Coloneqq \ff & A \Coloneqq (B) & & & \\\hline \end{array}\]