
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. 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.
From: hoeppler@gmx.net To: boost-users@lists.boost.org 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/index.html
http://svn.boost.org/svn/boost/trunk/libs/spirit/example/qi/calc6/
HTH, Chris _______________________________________________ Boost-users mailing list Boost-users@lists.boost.org http://lists.boost.org/mailman/listinfo.cgi/boost-users
_________________________________________________________________ Windows 7: Unclutter your desktop. http://go.microsoft.com/?linkid=9690331&ocid=PID24727::T:WLMTAGL:ON:WL:en-US:WWL_WIN_evergreen:112009