If SAX == lex, then what == yacc?

Colas Nahaboo Colas.Nahaboo at sophia.inria.fr
Tue Nov 23 16:54:44 GMT 1999



"Anthony B. Coates" writes:

> A thought that struck me (and probably struck many of you before me) is that
> the event stream from a SAX parser is much like the token stream from a lexical
> analyser, like 'lex'.  This made me wonder what the equivalent to 'yacc' would
> be in this picture;

It would be an API that would build a tree from SAX events. DOM is such an
API, which has the advantage of being a W3C reccomendation. However, using a
general DOM implementation as a layer on top of SAX can only be used for
quick-n-dirty jobs, as you will force your application to go through too
abstract a layer to be efficient.  I suggest you use our DOM-light DOM subset 

	http://www.inria.fr/koala/domlight/

which is a good step in the right direction, but you will find that if your
application is not toy-sized, you will end up using DOM to query the parse
tree and build the internal structure necessary in your application, thus
duplicating the work.

Note that I dont know of an exact equivalent of yacc for XML... something that 
would implement listeners for building nodes, providing you with some kind of
"buffer" to allow you to build your tree "top-down" instead of "bottom-up"
from SAX lexical events... Do somebody know if such a tool exists?

--
Colas Nahaboo, Koala/Dyade/Bull @ INRIA Sophia, http://www.inria.fr/koala/colas


xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev at ic.ac.uk
Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1
To unsubscribe, mailto:majordomo at ic.ac.uk the following message;
unsubscribe xml-dev
To subscribe to the digests, mailto:majordomo at ic.ac.uk the following message;
subscribe xml-dev-digest
List coordinator, Henry Rzepa (mailto:rzepa at ic.ac.uk)





More information about the Xml-dev mailing list