The ANTLR grammar is split into its lexer rules and parser rules. The lexer rules can be seen in \cref{boppi-lexer} and the parser rules in \cref{boppi-parser}.

\begin{code}
    \caption{Lexemes of the Boppi language.}
    \label{boppi-lexer}
    \inputminted{antlr}{\projectroot src/pp/s1184725/boppi/antlr/BoppiTokens.g4}
\end{code}

\begin{code}
    \caption{ANTLR4 parser rules of the Boppi language.}
    \label{boppi-parser}
    \inputminted{antlr}{\projectroot src/pp/s1184725/boppi/antlr/Boppi.g4}
\end{code}
