\newcommand{\APPLY}[1]{\ensuremath{\mathtt{apply}~\mathit{#1}}}
\newcommand{\SKIP}{\ensuremath{\mathtt{skip}}}
\newcommand{\TACTICAL}[1]{\ensuremath{\mathtt{tactical}~\mathit{#1}}}
-\newcommand{\SELECT}[2]{\ensuremath{\mathtt{select} ~ #1 ~ #2}}
+\newcommand{\OLDTACTICAL}[1]{\ensuremath{\mathtt{old\_tactical}~\mathit{#1}}}
+\newcommand{\SELECT}[1]{\ensuremath{\mathtt{select} ~ #1}}
+\newcommand{\ENDSELECT}[1]{\ensuremath{\mathtt{end}}}
\newcommand{\GOAL}{\ensuremath{\mathit{goal}}}
\newcommand{\GOALSWITCH}{\ensuremath{\mathit{goal\_switch}}}
\[
\begin{array}{rcll}
- C & ::= & & \mbox{(\textbf{continuationals})} \\
- & & C ~ \DOT & \mbox{(dot)} \\
- & | & C ~ \SEMICOLON ~ C & \mbox{(semicolon)} \\
- & | & \BRANCH & \mbox{(branch)} \\
- & | & \SHIFT & \mbox{(shift)} \\
- & | & \MERGE & \mbox{(merge)} \\
- & | & \SELECT{n_1,\dots,n_k}{C} & \mbox{(select)} \\
- & | & \TACTICAL{T} & \mbox{(tactical)} \\[2ex]
+ S & ::= & & \mbox{(\textbf{toplevel grammar})}\\
+ & & \varepsilon & \\
+ & | & T~ P~ S & \\[2ex]
- T & ::= & & \mbox{(\textbf{tacticals})} \\
+ T & ::= & & \mbox{(\textbf{tactical})} \\
& & \APPLY{tac} & \mbox{(tactic application)} \\
& | & \SKIP & \mbox{(closed goal skipping)} \\
+ & | & \OLDTACTICAL{tcl} & \mbox{(non step-by-step tactical)} \\
+ & | & \SELECT{n_1,\dots,n_k}{S} & \mbox{(select)} \\[2ex]
+
+ P & ::= & & \mbox{(\textbf{punctuation})} \\
+ & & \DOT & \mbox{(dot)} \\
+ & | & \SEMICOLON & \mbox{(semicolon)} \\
+ & | & \BRANCH & \mbox{(branch)} \\
+ & | & \SHIFT & \mbox{(shift)} \\
+ & | & \MERGE ~ M & \mbox{(merge)} \\[2ex]
+
+ M & ::= & & \mbox{(\textbf{merge-punctuation})} \\
+ & & \varepsilon & \\
+ & | & \MERGE ~ M& \mbox{(multi-merge)} \\
+ & | & \DOT & \mbox{(merge and choose)} \\[2ex]
+
\end{array}
\]