
24 Mar
2008
24 Mar
'08
10:35 p.m.
Larry Evans wrote:
On 03/24/08 15:40, Eric Niebler wrote: [snip]
not. I'm pretty sure the use of ::type is wrong. Let me see if I can put in words what an expression is, and what a grammar is, and what the relationship is between the two. Maybe you can combine this with your understanding of morphisms to formulate this.
An expression is one of: * expr<tag::terminal, args0<X> > ... [snip]
But isn't terminal<X> the same as expr<tag::terminal,args0<X> >?
No, it's not. terminal<X> is a metafunction. terminal<X>::type is expr<tag::terminal, args0<X> >. IN ADDITION, terminal<X> is a grammar (see my other message). The one thing terminal<X> is NOT is an expression. -- Eric Niebler Boost Consulting www.boost-consulting.com