Eric Niebler wrote:

> On 12/8/2010 5:30 PM, Thomas Heller wrote:
>> I don't really now how to do it otherwise with the current design.
>> There is really only this part of the puzzle missing. If it is done, we
>> have a working and clean Phoenix V3.
>> For the time being, I can live with the workaround I did.
>> However, I will focus my efforts of the next days on working out a patch
>> for this to work properly.
> 
> I made a simple fix to proto::matches on trunk that should get you
> moving. The overloads can still be smarter about sub-domains, but for
> now you can easily work around that by explicitly allowing expressions
> in sub-domains in your super-domain's grammar. See the attached solution
> to your original problem.

I am afraid that this does not really solve the problem.

I think there is a misunderstanding in how "sub-domain"ing works.
The solution you propose is that a sub domain extends its super domain in 
the way that the expressions in the sub domain also become valid in the 
super domain. I guess this is the way it should work.
However, the solution I am looking for is different.
The sub-domain i tried to define should also extend its super domain, BUT 
expressions valid in this sub-domain should not be valid in the super 
domain, only in the sub-domain itself.

I think proto should support both forms of operation. The first one can be 
easily (more or less) achieved by simply changing proto::matches in the way 
you demonstrated earlier, I think. I am not sure, how to do the other stuff 
properly though.
_______________________________________________
proto mailing list
proto@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/proto

Reply via email to