Changes by: Aleksey Nogin (nogin at cs.caltech.edu)
Date: 2004-12-02 17:38:15 -0800 (Thu, 02 Dec 2004)
Revision: 664
Log message:
Merging Jason's mmc_parser branch.
This adds a new Libmojave/rewriter-based parser similar to Phobos.
The advantage of this new parser (compared to Phobos) is that it is
much better integrated to the rest of the filter. In particular:
- New-style grammar specifications reside in .mli and .ml, and not
in a separate .pho file (note - .mli grammars are inherited; .ml ones
are local)
- The opname management is reused (no need to re-declare opnames in the
grammar specifications).
- Grammars are saved in the .cmoz/.cmiz instead of a separate file.
- Grammars are properly scoped (and toploop knows about it).
- Grammars are inherited along the module inheritance hierarchy
and can be extended by the children.
- Instead of a single "<:ext<" grammar, arbitrarily-named grammars may be
defined.