\documentclass[a4paper,landscape,twocolumn]{article}
\usepackage[margin=1cm]{geometry}

\usepackage{fancybox}
\newcommand*{\Hline}{\mbox{}\hrulefill\mbox{}}
\newcounter{bsyntax}
\newenvironment{bsyntax}%
 {\leavevmode\begin{Sbox}\begin{minipage}{0.98\columnwidth}%
       {\textit{Syntax~\addtocounter{bsyntax}{1}\thebsyntax}\textit{:}}%
       \begingroup\parskip=0cm\parindent=0.5cm\lineskip=0pt%
       \obeylines\obeyspaces\textit}%
 {\endgroup\vskip\parskip\end{minipage}\end{Sbox}\fbox{\TheSbox}}

\begin{document}

\begin{bsyntax} \texttt{input} command\index{\texttt{input}}\index{\texttt{in}}\Hline
\texttt{input}~\textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{eof}~command \index{\texttt{eof}}\Hline
\texttt{eof}
\end{bsyntax}

\begin{bsyntax} \texttt{cd}~ command \index{\texttt{cd}}\Hline
\texttt{cd}~\textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{pwd}~\textit{command}\index{\texttt{pwd}}\Hline
\texttt{pwd}
\end{bsyntax}

\begin{bsyntax} \texttt{ls} command \index{\texttt{ls}}\Hline
\texttt{ls} \textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{save} command \index{\texttt{save}}\Hline
\texttt{save} \textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{restore} command \index{\texttt{restore}}\Hline
\texttt{restore} \textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{save-system} command \index{\texttt{save-system}}\Hline
\texttt{save-system} \textit{pathname}
\end{bsyntax}

\begin{bsyntax} \texttt{require} command \index{\texttt{require}}\Hline
\texttt{require} \textit{feature} $[$\textit{pathname}$]$
\end{bsyntax}

\begin{bsyntax} \texttt{provide} command \index{\texttt{provide}}\Hline
\texttt{provide} \textit{feature}
\end{bsyntax}

\begin{bsyntax} command listing command \texttt{?}(help command)\index{\texttt{?} (help command)}\Hline
\texttt{?}
\end{bsyntax}

\begin{bsyntax} \texttt{set} command for switches \index{\texttt{set}}\Hline
\texttt{set} \textit{switch\_name} $\{$ \texttt{on} $|$ \texttt{off} $\}$
\end{bsyntax}

\begin{bsyntax} \texttt{set} command for others \index{\texttt{set}} \Hline
\texttt{set} \textit{a\_name} $[$\textit{option}$]$ \textit{value}
\end{bsyntax}

\begin{bsyntax} \texttt{show} command for module inspection\Hline
\index{\texttt{show}}
\texttt{show} $[$\textit{module\_expression}$]$
\texttt{show} $[$\texttt{all}$]$ $\{$ \texttt{sorts} $|$ \texttt{ops} $|$ \texttt{sign} $|$ \texttt{axioms} $\}$ $[$\textit{module\_expression}$]$
\texttt{show} $\{$ \texttt{vars} $|$ \texttt{params} $|$ \texttt{subs} $\}$ $[$\textit{module\_expression}$]$
\texttt{show} $\{$ \texttt{sort} \textit{sort\_name} $\}$ $|$ $\{$ \texttt{op} \textit{operator\_name} $\}$ $[$ \textit{module\_expression}$]$
\texttt{show} $\{$ \texttt{sub} \textit{number} $\}$ $|$ $\{$ \texttt{param} \textit{parameter\_name} $\}$ $|$ $\{$ $[$ \texttt{all}$]$ \texttt{rules} $\}$ 
~~~~~~~~$[$\textit{module\_expression}$]$
\texttt{show view} \textit{view\_name}
\end{bsyntax}

\begin{bsyntax} \texttt{show} command for other inspection \Hline
\texttt{show tree} $|$ $\{$ \texttt{term} $[$\textit{let\_variable}$]$ $[$\texttt{tree}$]$ $\}$ $|$ $\{$ \texttt{subterm} $[$\texttt{tree}$]$ $\}$
\texttt{show $[$ let $|$ selection $|$ pending $|$ context $|$ modules $|$ views $|$}
~~~~~~~~\texttt{time $|$ limit $|$ stop $|$ features $|$ memo}
\texttt{show $[$all$]$ $\{$ rule \textit{rule\_specification} $\}$ $|$ $\{$ switches $[$\textit{switch\_name}$]$ $\}$}
\end{bsyntax}

\begin{bsyntax} \texttt{describe} command \index{\texttt{describe}} \Hline
\texttt{describe $[$\textit{module\_expression}$]$}
\texttt{describe $[$all$]$ $\{$ sorts $|$ ops $|$ sign $|$ axioms $\}$ $[$\textit{module\_expression}$]$}
\texttt{describe $\{$ vars $|$ params $|$ subs $\}$ $[$\textit{} module\_expression $]$}
\texttt{describe $\{$ sort \textit{sort\_name} $\}$ $|$ $\{$ op \textit{operator\_name} $\}$ $[$\textit{module\_expression}$]$}
\end{bsyntax}

\begin{bsyntax} module without parameters \Hline
\texttt{module} \textit{module\_name} ``\texttt{\{}''
~~\textit{module\_element} $*$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} \texttt{unprotect} command \index{\texttt{unprotect}} \Hline
\texttt{unprotect} \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} \texttt{protect} command \index{\texttt{protect}} \Hline
\texttt{protect} \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} \texttt{imports} block \index{\texttt{imports}} \Hline
\texttt{imports} ``\texttt{\{} \textit{module\_element} $*$ ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} \texttt{signature} block \index{\texttt{signature}} \Hline
\texttt{signature} ``\texttt{\{} \textit{module\_element} $*$ ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} \texttt{axioms} block \index{\texttt{axioms}} \Hline
\texttt{axioms} ``\texttt{\{} \textit{module\_element} $*$ ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} module for tight denotation \Hline
\texttt{module!} \textit{module\_name} ``\texttt{\{}
~~~~\textit{module\_element} $*$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} module for loose denotation \Hline
\texttt{module*} \textit{module\_name} ``\texttt{\{}
~~~~\textit{module\_element} $*$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} import declaration \Hline
$\{$ \texttt{protecting $|$ extending $|$ using $|$ including} $\}$ ``('' \textit{module\_expression} ``)''
\end{bsyntax}

\begin{bsyntax} visible sort declaration
\index{\texttt{[},\texttt{]} (visible sort declarations)}
``\texttt{[}'' \textit{list\_of\_sort\_names} ``\texttt{]}''
\end{bsyntax}

\begin{bsyntax} hidden sort declaration \Hline
\index{\texttt{*[},\texttt{]*} (hidden sort declarations)}
``\texttt{*[}'' \textit{list\_of\_sort\_names} ``\texttt{]*}''
\end{bsyntax}

\begin{bsyntax} subsort declaration \index{\texttt{<}} \Hline
``\texttt{[}'' \textit{list\_of\_sort\_names} ``\texttt{<}'' \textit{list\_of\_sort\_names} $\{$ ``\texttt{<}'' \textit{list\_of\_sort\_names} $\}$ $*$ ``\texttt{]}''
``\texttt{*[}'' \textit{list\_of\_sort\_names} ``\texttt{<}'' \textit{list\_of\_sort\_names} $\{$ ``\texttt{<}'' \textit{list\_of\_sort\_names} $\}$ $*$ ``\texttt{]*}''
\end{bsyntax}

\begin{bsyntax} standard operator declaration \index{\texttt{op}} \Hline
\index{standard operator declaration}
\texttt{op} \textit{standard\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names} ``\texttt{->}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} mixfix operator declaration \Hline
\index{mixfix operator declaration}
\texttt{op} \textit{mixfix\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names} ``\texttt{->}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} behavioural operator declaration \index{\texttt{bop}} \Hline
\texttt{bop} \textit{standard\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names} ``\texttt{->}'' \textit{sort\_name}
\texttt{bop} \textit{mixfix\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names} ``\texttt{->}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} predicate declaration \index{\texttt{pred}} \Hline
\texttt{pred} \textit{standard\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names}
\texttt{pred} \textit{mixfix\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names}
\end{bsyntax}

\begin{bsyntax} behavioural predicate declaration \index{\texttt{bpred}} \Hline
\texttt{bpred} \textit{standard\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names}
\texttt{bpred} \textit{mixfix\_operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names}
\end{bsyntax}

\begin{bsyntax} \texttt{regularize} command \index{\texttt{regularize}} \Hline
\texttt{regularize} \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} parsing command \index{\texttt{parse}} \Hline
\index{\texttt{.} (term stopper)}
\texttt{parse} $[$\texttt{in} \textit{module\_expression} ``\texttt{:}''$]$ \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} sort-qualified term \Hline
``\texttt{(}'' \textit{term} ``\texttt{)}'' ``\texttt{:}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} plain record declaration \index{\texttt{record}} \Hline
\texttt{record} \textit{record\_name} ``\texttt{\{}'' \textit{list\_of\_slot\_declarations} ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} slot declaration \Hline
\textit{slot\_name} ``\texttt{:}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} record declaration with inheritance \index{\texttt{record}} \Hline
\texttt{record} \textit{record\_name} ``\texttt{[}'' \textit{list\_of\_upper\_records} ``\texttt{]}'' ``\texttt{\{}'' \textit{list\_of\_slot\_declarations} ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} upper record \Hline
\textit{record\_name} $[$``\texttt{*}'' ``\texttt{(}'' \textit{slot\_mapping} ``\texttt{)}''$]$
\end{bsyntax}

\begin{bsyntax} slot mapping \Hline
\textit{slot\_name} ``\texttt{->}'' \textit{slot\_name} $\{$ ``\texttt{,}'' \textit{slot\_name} ``\texttt{->}'' \textit{slot\_name} $\}$ $*$
\end{bsyntax}

\begin{bsyntax} variable declaration \index{\texttt{var}}\index{\texttt{vars}} \Hline
\texttt{var} \textit{ariable\_name} ``\texttt{:}'' \textit{sort\_name}
\texttt{vars} \textit{list\_of\_variable\_names} ``\texttt{:}'' \textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} variable declaration on the fly \Hline
\textit{variable\_name}``\texttt{:}''\textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} unconditional equation declaration \index{\texttt{eq}} \Hline
\index{\texttt{=} (in equations)}
\texttt{eq} $[$\textit{label}$]$ \textit{term} ``\texttt{=}'' \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} label in axioms \Hline
``\/\texttt{[}'' \textit{label\_name} ``\texttt{]}'' ``\texttt{:}''
\end{bsyntax}

\begin{bsyntax} conditional equation declaration \index{\texttt{ceq}} \Hline
\index{\texttt{if}}
\texttt{ceq} $[$\textit{label}$]$ \textit{term} ``\texttt{=}'' \textit{term} \texttt{if} \textit{boolean\_term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} behavioural equation declaration \Hline
\index{behavioural equation}\index{\texttt{beq}}\index{\texttt{bceq}}
\texttt{beq} $[$\textit{label} $]$ \textit{term} ``\texttt{=}'' \textit{term} ``\texttt{.}''
\texttt{bceq} $[$\textit{label}$]$ \textit{term} ``\texttt{=}'' \textit{term} \texttt{if} \textit{boolean\_term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} transition declaration \Hline
\index{\texttt{trans}}\index{\texttt{ctrans}}\index{\texttt{btrans}}
\index{\texttt{bctrans}}\index{\texttt{=>} (in transitions)}
\texttt{trans} $[$\textit{label}$]$ \textit{term} ``\texttt{=>}'' \textit{term} ``\texttt{.}''
\texttt{ctrans} $[$\textit{label}$]$ \textit{term} ``\texttt{=>}'' \textit{term} \texttt{if} \textit{boolean\_term} ``\texttt{.}''
\texttt{btrans} $[$\textit{label}$]$ \textit{term} ``\texttt{=>}'' \textit{term} ``\texttt{.}''
\texttt{bctrans} $[$\textit{label}$]$ \textit{term} ``\texttt{=>}'' \textit{term} \texttt{if} \textit{boolean\_term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{reduce} command \index{\texttt{reduce}} \Hline
\texttt{reduce} $[$\texttt{in} \textit{module\_expression} ``\texttt{:}''$]$ \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{breduce} command \index{\texttt{breduce}} \Hline
\texttt{breduce} $[$\texttt{in} \textit{module\_expression} ``\texttt{:}'' $]$ \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{execute} command \index{\texttt{execute}} \Hline
\texttt{execute} $[$\texttt{in} \textit{module\_expression} ``\texttt{:}''$]$ \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{stop} command \index{\texttt{stop}} \Hline
\texttt{stop} \textit{term} ``\texttt{.}''
\texttt{stop} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{tram} command for evaluation\index{\texttt{tram}}\index{\texttt{reduce}} \Hline
\index{\texttt{execute}}
\texttt{tram} $\{$ \texttt{reduce} $|$ \texttt{execute} $\}$ $[$\texttt{in} \textit{module\_expression} ``\texttt{:}''$]$ \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{tram} command for compilation \index{\texttt{tram}} \Hline
\index{\texttt{compile}}
\texttt{tram} \texttt{compile} $[$\texttt{-exec}$]$ $[$\textit{module\_expression}$]$ ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{let} command \index{\texttt{let}} \Hline
\texttt{let} \textit{identifier} ``\texttt{=}'' term ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} operator declaration with attributes \index{\texttt{op}} \Hline
\texttt{op} \textit{operator\_symbol} ``\texttt{:}'' \textit{list\_of\_sort\_names} ``\texttt{->}'' \textit{sort\_name} ``\texttt{\{}'' \textit{attribute\_list} ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} evaluation strategy \index{\texttt{strat:}} \Hline
\texttt{strat:} ``\texttt{(}'' \textit{integer\_list} ``\texttt{)}''
\end{bsyntax}

\begin{bsyntax} \texttt{select} command \index{\texttt{select}} \Hline
\texttt{select} \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} reference to sort/operator/parameters \Hline
\textit{name}$[$``\texttt{.}''\textit{module\_name}$]$
\end{bsyntax}

\begin{bsyntax} operator name \Hline
$\{$ \textit{mixfix\_operator\_symbol} $|$ \textit{standard\_operator\_symbol} $\}[$``\texttt{/}''\textit{number\_of\_arguments}$]$
\end{bsyntax}

\begin{bsyntax} parameterised module \index{\texttt{module}} \Hline
\texttt{module} \textit{module\_name} ``\texttt{(}'' \textit{list\_of\_parameters} ``\texttt{)}'' ``\texttt{\{}''
~~~~\textit{module\_element} $*$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} parameter \Hline
$[$ \textit{importation\_mode} $]$ \textit{parameter\_name} ``\texttt{::}'' \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} view \Hline
\index{\texttt{view}}\index{\texttt{from}}\index{\texttt{to}}
\texttt{view} \textit{view\_name} \texttt{from} \textit{module\_name} \texttt{to} \textit{module\_name} ``\texttt{\{}''
~~~\textit{view\_element} $*_,$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} module with principal sort \index{\texttt{principal-sort}} \Hline
\texttt{module} \textit{module\_name} $[$``\texttt{(}'' \textit{list\_of\_parameters} ``\texttt{)}''$]$ \texttt{principal-sort} \textit{sort\_name} ``\texttt{\{}''  
~~~~\textit{module\_element} $*$
``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} instantiating parameterised module \Hline
\textit{module\_name} ``\texttt{(}'' \textit{binding} $+_,$ ``\texttt{)}''
\end{bsyntax}

\begin{bsyntax} module constant \Hline
\textit{module\_name}
\end{bsyntax}

\begin{bsyntax} renaming \index{\texttt{*} (for remaning)} \Hline
\textit{module\_expression} ``\texttt{*}'' ``\texttt{\{}'' \textit{map} $*_,$ ``\texttt{\}}''
\end{bsyntax}

\begin{bsyntax} module sum \index{\texttt{+} (module sum)} \Hline
\textit{module\_expression} ``\texttt{+}'' \textit{module\_expression} $\{$ ``\texttt{+}'' \textit{module\_expression} $\}$ $*$
\end{bsyntax}

\begin{bsyntax} \texttt{make} command \index{\texttt{make}} \Hline
\texttt{make} \textit{module\_name} ``\texttt{(}'' \textit{module\_expression} ``\texttt{)}''
\end{bsyntax}

\begin{bsyntax} \texttt{open} command \index{\texttt{open}} \Hline
\texttt{open} \textit{module\_name}
\end{bsyntax}

\begin{bsyntax} \texttt{close} command \index{\texttt{close}} \Hline
\texttt{close}
\end{bsyntax}

\begin{bsyntax} constant declaration on the fly \Hline
\textit{constant\_name}``\texttt{:}''\textit{sort\_name}
\end{bsyntax}

\begin{bsyntax} \texttt{start} command \index{\texttt{start}} \Hline
\texttt{start} \textit{term} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{apply} command \index{\texttt{apply}} \Hline
\texttt{apply} \textit{action} $[$\textit{substitution}$]$ \textit{range selection}
\end{bsyntax}

\begin{bsyntax} rule specification in \texttt{}apply\textit{} command \Hline
$[$``\texttt{+}''$|$``\texttt{-}''$]$$[$\textit{module\_name}$]$``\texttt{.}''$\{$ \textit{number}$|$\textit{label} $\}$
\end{bsyntax}

\begin{bsyntax} substitution specification in \texttt{}apply\textit{} command \Hline
~~~~\texttt{}with\textit{} $\{$ variable ``\/\texttt{}=\textit{}'' term $\}$ $+_,$ 
\end{bsyntax}

\begin{bsyntax} \texttt{choose} command \index{\texttt{choose}}\Hline
\texttt{choose} \textit{selection}
\end{bsyntax}

\begin{bsyntax} \texttt{match} command \index{\texttt{match}}\Hline
\texttt{match} \textit{term\_specifier} \texttt{to} \textit{pattern} ``\texttt{.}''
\end{bsyntax}

\begin{bsyntax} \texttt{check} command \index{\texttt{check}}\Hline
\index{\texttt{regularity}}\index{\texttt{compatibility}}\index{\texttt{laziness}}
\texttt{check} $\{$ \texttt{regularity} $|$ \texttt{compatibility} $\}$ $[$\textit{module\_expression}$]$
\texttt{check} $\{$ \texttt{laziness} $\}$ $[$\textit{operator\_name}$]$
\end{bsyntax}

\end{document}
