[m-dev.] For review: add my XML parser to the extras

Thomas Conway conway at cs.mu.OZ.AU
Thu Aug 10 07:58:41 AEST 2000


On Tue, Aug 08, 2000 at 06:00:02PM EST, Fergus Henderson wrote:
> On 07-Aug-2000, Thomas Conway <conway at cs.mu.OZ.AU> wrote:
> > extras/xml/README:
> >     A short readme describing the parser.
> 
> Could you please post that file?
> You didn't include that file in your original post.

Oops. Here it is.

> 
> (I haven't reviewed the rest of the code, since I want to look at the
> README file first...)
> 
> > extras/xml/Mmake:
> >     The Mmake file for the sample program.
> 
> That should be named `Mmakefile' rather than `Mmake'
> (to avoid problems on Windows).

Fixed.

-- 
Thomas Conway              Unicode for terrorists: U+0001 300C
<conway at cs.mu.oz.au>         "Tie his hands behind his back"
Mercurian )O+  
-------------- next part --------------

This directory contains an XML parsing library.

The parser is implemented using higher order parsing combinators.
It follows the grammar in the XML 1.0 recommendation (see
http://www.w3c.org for more on the recommendation). Unfortunately
this means that it isn't quite conformant because the english text
of the recommendation contradicts the given grammar in a number of
places, some of which I have fixed, and some I will fix when I know
how to.

The parser includes external parsed entities, but doesn't deal very
well with non-parsed external entities very well yet (due to some
of the afore-mentioned contradictions in the recommendation). It
is non-validating at this stage, but it does parse the DTD and
expand entity and parameter-entity references.

The files in this directory are:
	README		this file.

	xml.m		a wrapper module
	xml.cat.m	implements catalog file parsing
	xml.doc.m	defines the types for representing documents
	xml.dtd.m	defines the types for representing DTDs
	xml.encoding.m	implements algorithms used for manipulating
			different encoding mechanisms (eg ASCII, UTF-8)
	xml.parse.m	the main parser
	xml.parse.chars.m a piece of the parser which is split off for
			compile time performance

	unicode.m	defines a bunch of functions that return the
			unicode number for various ascii characters
	parsing.m	defines the parsing combinators used by the
			parser

	tryit.m		a sample driver program which parses documents
			and prints any error messages
	Mmakefile	a control file for mmake to build the sample program



More information about the developers mailing list