I used the package syntax
to create the following EBNF.
- I would like to center it, however
\begin{center}...\end{center}
and other commands do not seem to work on thegrammar
environment. - When I set
\grammarindent
to a larger value also the::=
gets indented. Do you have an idea how I can indent the\alt
behind the::=
?
\documentclass[a4paper,12pt]{article}
\usepackage[nounderscore]{syntax}
\begin{document}
\shortverb{\|}
\setlength{\grammarindent }{2cm}
\begin{grammar}
<stmt> ::= <stmt>; <stmt> | \textbf{skip} | $v := $ <expr> | \textbf{input} $\vec{v}$ | \textbf{output} $\vec{v}$
\alt \textbf{if} <expr> \textbf{then} <stmt> \textbf{else} <stmt> | \textbf{while} <expr> <stmt>
<expr> ::= $v$ | \textbf{tt} | \textbf{ff} | <expr> $\lor$ <expr> | $\lnot$<expr>.
\end{grammar}
\end{document}