
\subsubsection{Running Pagen}

First, make a grammar definition, in a pagen file (extension {\tt ".pagen"}).

Then:
\begin{example}
    (pagen:pagen \i{file})
\end{example}
 will generate a file with the extension {\tt ".pagen-output"} that
contains the tables for the scanner and parser, plus the functions that
perform the shifts and reductions in the parser.  This file will include
an {\tt in-package} statement naming the package specified by the
package-statement in the PAGEN file.

\subsubsection{Using the Parser}

 The parser should be in a package that {\em uses} the Lisp and DFCS
package.  See the {\em DFCS: Dataflow Compiler Substrate Manual}\cite{dfcs}
for support manipulating parse trees.  Some examples are given in the next
section.

 Also, see the file: {\tt "parser.lisp"}, {\tt "parser-tables.lisp"} and
{\tt "grammar.lisp"} in the id-compiler directory.
