OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Push / pull model

[ Lists Home | Date Index | Thread Index ]

Keith W. Boone (keith@woc.org) scripsit:

> We may not use lexers that generate events, but we do use parsing tools that
> work that way.  The events are reductions, and the actions of the event
> either build a parse tree, or interpret the code.  In fact, these tools
> provide for a very natural way to specify the events [as a grammar], and
> produce very readable parsers.

Sure, you can write bottom-up parsers and they work well with push lexers.
Indeed, the reason yacc is such a win is that bottom-up parsing can be
table-driven and not require implicit state.  But that doesn't mean that
the recursive descent pattern (which does not seem to be included in
pattern catalogs: why?) is not a sweet spot for many cases.

The redoubtable James Clark has said that it was much more straightforward
to write a RELAX NG validator for the compact syntax than for the XML
syntax, basically because the XML syntax could not make use of the
recursive descent pattern easily because the info items were being pushed.

Dar fys ma vel gom co palt, "Hoc
Pys go iskili far maino woc?
     Pro si go fys do roc de
     Do cat ym maino bocte
De volt fac soc ma taimful gyroc!"
	--J.R.R. Tolkien

John Cowan                                   jcowan@reutershealth.com
        "You need a change: try Canada"  "You need a change: try China"
                --fortune cookies opened by a couple that I know


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS