Boost logo

Proto :

Subject: Re: [proto] proto Digest, Vol 4, Issue 13
From: Eric Niebler (eric_at_[hidden])
Date: 2010-10-15 21:26:19

On Thu, Oct 14, 2010 at 11:50 PM, Christophe Henry <
christophe.j.henry_at_[hidden]> wrote:

> > I'm attaching the beginnings of a Phoenix implementation that is built
> > using this technique. It is obviously just a shell. No nice actor
> > wrappers or anything. This is just to demonstrate that the technique
> > works. It builds an extensible core, handles placeholders, terminals
> > (including reference_wrapped terminals), and if_/then_/else_ built as an
> > extension to the core.
> >
> > Comments?
> Oh yes sure.
> 1. Why to break my head so early in the morning (for me)? :)


> 2. Seriously, I'm not sure I understood it completely but it looks
> exactly like what I was looking for. IIUC, I can use this to describe
> the rules of a common grammar (not just terminals) and then use
> different transforms for different end results.

That's the intention, yes.

> This could solve the
> issue I talked about at the BoostCon, the impossibility to fit eUML
> inside phoenix,

I don't remember the specifics of what you were trying to do.

> and for a few new ideas I have in mind.
> Now this starts becoming interesting (why did it take so long to come
> here?).

I've kicked around ideas like this before, but I've always been somewhat
dissatisfied by the results. It's SO verbose. Then again, I've never had to
write (a) a non-trivial grammar that (b) was openly extensible and (c)
needed pluggable transforms.

As soon as I finish the urgent MSM tasks waiting for action,
> I'll give it a try.
> Again cool stuff, thanks :)

If you play around with it, let us know how it goes,


Proto list run by eric at