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 ]

Buttom up parsers do require implicit state; you've got a stack of contexts
that you are working with in the parsing tool. But the parsing tool manages
the the stack for you when it runs.  Also, when you are building a parse
tree using such a tool, quite often you maintain state in the context items
on the stack to keep track of the parse.


-----Original Message-----
From: John Cowan [mailto:jcowan@reutershealth.com]
Sent: Thursday, September 19, 2002 12:21 PM
To: keith@woc.org
Cc: John Cowan; Lars Marius Garshol; xml-dev@lists.xml.org
Subject: Re: [xml-dev] Push / pull model

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

> We may not use lexers that generate events, but we do use parsing tools
> 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

The xml-dev list is sponsored by XML.org <http://www.xml.org>, an
initiative of OASIS <http://www.oasis-open.org>

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl>


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

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