On Thu, 2 Oct 2008, Tim Bunce wrote:

On Wed, Oct 01, 2008 at 11:24:04PM -0400, Brandon S. Allbery KF8NH wrote:
On 2008 Oct 1, at 22:23, Timothy S. Nelson wrote:
On Wed, 1 Oct 2008, Brandon S. Allbery KF8NH wrote:
On 2008 Oct 1, at 22:14, Timothy S. Nelson wrote:
        Hi all.  I've enjoyed(?) reading over the February/March thread
entitled "Musings on operator overloading".  I've brought a few thoughts
along; if they're old news, please tell me
here to do more reading on it :).

The Perl6 way to do this is grammars; using an XML grammar to pull data
out of an XML document is one of Larry's favorite examples.

        Ok, great.  While I see how this does a great job of converting the
string of data into a plex, it doesn't solve the problem of selecting the
data from the plex in a glob-like (or XPath-like) fashion, which is what
I'm talking about here.  Have I missed something that will do that?

I could have sworn there was a short and elegant example of using a grammar
to extract arbitrary information from an XML document, but I don't see it
in the documentation.  I recall Trey Harris showing such an example on IRC
but not in a logged channel; maybe he'll see this message and jump in, or
if not I'll see if I can get him to write another example.

The key point Brandon is making, that I'm not sure you're answering,

        You probably mean "OtherTim" (ie. me) instead of "Brandon" here :).

is that he wants to extract elements of a tree-like data structure
(think DOM), not simply from a string representation of a structure
(such as an XML document in a string).

Thinking in terms of grammars, I'd ask the question: could grammars be
used to match tree-like data structures? I think the current answer is no.
Grammars are too tightly bound to the concept of a position in a linear

I think Grammars would be great for turning a string into a tree. But I agree with you in that I don't see how they apply to what I'm talking about :).

But I have a nagging suspicion that this is a very powerful idea.
Applying the expressive power of a grammar-like mechanism to
search, backtrack, and match within a tree-like data structure.

Is this new or has anyone discussed it before?

Not sure what you mean by "backtrack" in this context; I was envisioning that the thing return an array of tree nodes (although, now that I think about it, it could be useful as an iterator too :) ). But that doesn't seem to be quite what you're thinking, and so I'd be interested in hearing more about that too.


| Name: Tim Nelson                 | Because the Creator is,        |
| E-mail: [EMAIL PROTECTED]    | I am                           |

Version 3.12
GCS d+++ s+: a- C++$ U+++$ P+++$ L+++ E- W+ N+ w--- V- PE(+) Y+>++ PGP->+++ R(+) !tv b++ DI++++ D G+ e++>++++ h! y-

Reply via email to