Boost logo

Boost Users :

Subject: Re: [Boost-users] [Spirit] Problem with fairly big grammar
From: Hartmut Kaiser (hartmut.kaiser_at_[hidden])
Date: 2009-11-09 08:22:29


> To be honest I am a little bit confuse with the examples you mentioned.
> I do not see where the grammar is now defined in the .cpp file from the
> example. I only see a declaration of grammar in .hpp.
>
> I would have expect that the Grammar header is defined in .hpp but the
> actual EBNF definition is defined in .cpp. Hence, I do not see example
> of (2) in the examples, unless I miss something.

But that's exactly what has been done. The grammar/rule definitions are
located in the constructors of the grammars which have been moved out into
separate files.

> About your point (1), I think Classic Spirit also support this. You
> can have a rule that embed a grammar which is defined in a different
> file.

Sure, but it's more difficult to achieve.

Regards Hartmut

-------------------
Meet me at BoostCon
http://boostcon.com

>
>
> > From: hoeppler_at_[hidden]
> > To: boost-users_at_[hidden]
> > Date: Sun, 8 Nov 2009 15:33:16 +0100
> > Subject: Re: [Boost-users] [Spirit] Problem with fairly big grammar
> >
> > On Sunday 08 November 2009, Ray Burkholder wrote:
> > > > I highly suggest moving to spirit2 if you are planning to do any
> > > > refactorization. In spirit2 (http://spirit.sourceforge.net/home/)
> > > > we have some examples that highlight this:
> > > >
> > > > calc6, calc7 and mini_c are examples of modular grammar
> constructions.
> > > > calc6 is simplest of the three and shows how you can:
> > > >
> > > > 1) embed grammars for modularization
> > > > 2) separate the grammar definition (constructor) from the class
> > > > declaration
> > > > 3) instantiate a particular grammar template in a cpp file.
> > >
> > > Would you be able to provide a direct link to the calc6, calc7
> examples?
> > > They don't appear to be directly linked or described on the
> > > documentation page at:
> > >
> http://spirit.sourceforge.net/home/spirit2/libs/spirit/doc/html/inde
> > > x.html
> >
> > http://svn.boost.org/svn/boost/trunk/libs/spirit/example/qi/calc6/
> >
> > HTH,
> > Chris
> > _______________________________________________
> > Boost-users mailing list
> > Boost-users_at_[hidden]
> > http://lists.boost.org/mailman/listinfo.cgi/boost-users
> ________________________________________
> Windows 7: Unclutter your desktop. Learn more.


Boost-users list run by williamkempf at hotmail.com, kalb at libertysoft.com, bjorn.karlsson at readsoft.com, gregod at cs.rpi.edu, wekempf at cox.net