1 \newif\ifspace
2 \def\addspace{\ifspace\ \spacefalse\fi}
3 \def\token#1{\addspace\hbox{\tt #1}\spacetrue\ignorespaces}
4 %%% \def\nonterm#1{\addspace\hbox{\tt <#1>}\spacetrue\ignorespaces}
5 \def\nonterm#1{\addspace\hbox{\it #1}\spacetrue\ignorespaces}
6 \def\brepet{\addspace\hbox to1em{$\{$\hfil}\ignorespaces}
7 \def\erepet{\hbox to1em{$\}$\hfil}\ignorespaces}
8 \def\boption{\addspace[\ignorespaces}
9 \def\eoption{]\ignorespaces}
10 \def\brepets{\brepet\ignorespaces}
11 \def\erepets{\erepet+\ignorespaces}
12 \def\bparen{\addspace(\ignorespaces}
13 \def\eparen{)\ignorespaces}
14 \def\orelse{~\hbox to1em{$|$\hfil}~\spacefalse\ignorespaces}
15 \def\is{& ::= & \spacefalse\ignorespaces}
16 \def\alt{\\ & \hbox to1em{$|$\hfil} & \spacefalse }
17 \def\sep{\\[\baselineskip] \spacefalse}
18 \def\emptystring{nothing}
19 \def\syntax{\begin{center}\begin{tabular}{rrl}\spacefalse\ignorespaces}
20 \def\endsyntax{\end{tabular}\end{center}}
21 \def\ldots{\spacefalse...\ignorespaces}
22 \def\synt#1{$\spacefalse#1$}
23