HELP MLYACC                                 Robert Duncan, November 1994

ML-Yacc is an LALR parser generator for Standard ML written by David R.
Tarditi and Andrew W. Appel.


    ML-Yacc is the copyright of  David R. Tarditi Jr. and  Andrew W.
    Appel.  Please read the copyright notice and warranty disclaimer
    in the file $popcontrib/pml/mlyacc/mlyacc/COPYRIGHT.


ML-Yacc is contributed software and so is installed in the popcontrib
directory tree (see HELP * CONTRIB). The root directory is

    $popcontrib/pml/mlyacc

The subdirectory

    $popcontrib/pml/mlyacc/mlyacc

contains ML-Yacc as distributed with Standard ML of New Jersey (v0.93)
complete with source code, documentation and examples. A user's manual
in LaTeX format can be found in

    $popcontrib/pml/mlyacc/mlyacc/doc/mlyacc.tex

To load ML-Yacc interactively, compile the file

    $popcontrib/pml/mlyacc/load.ml

This defines a structure ParseGen as described in the manual. The parser
generator is large and takes some time to load; if you intend to use it
regularly, you are strongly recommended to make a saved image. You can
do this with the shell or DCL command

    pml %nort $popcontrib/pml/mlyacc/make.ml

This will make the image

    $poplocalbin/mlyacc.psv

To run the image, do

    pml +mlyacc <files ...>

This will apply the parser generator to each filename given as argument.

The files generated by ML-Yacc define only the tables specific to a
particular parser. Before you can use these, you must define the generic
parsing engine by compiling the file

    $popcontrib/pml/mlyacc/base.ml

Instructions for assembling a parser from the various components are
given in the user's manual. The parser built by this distribution is an
error-correcting one, as recommended in the installation instructions.

You can use ML-Lex to construct a lexical analyser which works with the
parser: see HELP * MLLEX.


--- C.all/pml/help/mlyacc
--- Copyright University of Sussex 1994. All rights reserved.
