\newif\ifspace
\def\addspace{\ifspace\  \spacefalse\fi}
\def\token#1{\addspace\hbox{\tt #1}\spacetrue\ignorespaces}
%%% \def\nonterm#1{\addspace\hbox{\tt <#1>}\spacetrue\ignorespaces}
\def\nonterm#1{\addspace\hbox{\it #1}\spacetrue\ignorespaces}
\def\brepet{\addspace\hbox to1em{$\{$\hfil}\ignorespaces}
\def\erepet{\hbox to1em{$\}$\hfil}\ignorespaces}
\def\boption{\addspace[\ignorespaces}
\def\eoption{]\ignorespaces}
\def\brepets{\brepet\ignorespaces}
\def\erepets{\erepet+\ignorespaces}
\def\bparen{\addspace(\ignorespaces}
\def\eparen{)\ignorespaces}
\def\orelse{~\hbox to1em{$|$\hfil}~\spacefalse\ignorespaces}
\def\is{& ::= & \spacefalse\ignorespaces}
\def\alt{\\ & \hbox to1em{$|$\hfil} & \spacefalse }
\def\sep{\\[\baselineskip] \spacefalse}
\def\emptystring{nothing}
\def\syntax{\begin{center}\begin{tabular}{rrl}\spacefalse\ignorespaces}
\def\endsyntax{\end{tabular}\end{center}}
\def\ldots{\spacefalse...\ignorespaces}
\def\synt#1{$\spacefalse#1$}
