rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

View: New views
10 Messages — Rating Filter:   Alert me  

rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

by HT4N - :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
I have quite a big grammar now, and basically I have multiple grammars separated into many files and at the root grammar I have many alternations like the following:
 
Root = GrammarA
          | GrammarB
          ...
          | GrammarZ
 
It looks like, the compiler complaining about the size of the inline code.
 
Here is the error message from the compiler:
 
"boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj"
 
What is the solution to this issue? If I move the grammar definition to .cpp files will it help?
 
Thanks
 
HTan




Windows 7: Unclutter your desktop. Learn more.
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

by Jeff Flinn :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

HT4N - wrote:

> I have quite a big grammar now, and basically I have multiple grammars
> separated into many files and at the root grammar I have many
> alternations like the following:
>  
> Root = GrammarA
>           | GrammarB
>           ...
>           | GrammarZ
>  
> It looks like, the compiler complaining about the size of the inline code.
>  
> Here is the error message from the compiler:
>  
> "boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128: number
> of sections exceeded object file format limit : compile with /bigobj"
>  
> What is the solution to this issue?

Umm, did you try compiling with /bigobj?

Jeff

_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

by HT4N - :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
I did, and it still did not help for "debug" build. For retail build anyway I don't see problem.

What is the common practice if you have let's say more than 30 grammar modules and each grammar has around 5-10 lines of EBNF and you want to separate each grammar into 1 header file.
 
Thanks
 
HT
 

> To: boost-users@...
> From: TriumphSprint2000@...
> Date: Thu, 5 Nov 2009 16:15:57 -0500
> Subject: Re: [Boost-users] rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj
>
> HT4N - wrote:
> > I have quite a big grammar now, and basically I have multiple grammars
> > separated into many files and at the root grammar I have many
> > alternations like the following:
> >
> > Root = GrammarA
> > | GrammarB
> > ...
> > | GrammarZ
> >
> > It looks like, the compiler complaining about the size of the inline code.
> >
> > Here is the error message from the compiler:
> >
> > "boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128: number
> > of sections exceeded object file format limit : compile with /bigobj"
> >
> > What is the solution to this issue?
>
> Umm, did you try compiling with /bigobj?
>
> Jeff
>
> _______________________________________________
> Boost-users mailing list
> Boost-users@...
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Hotmail: Trusted email with Microsoft's powerful SPAM protection. Sign up now.
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

[Spirit] Problem with fairly big grammar

by HT4N - :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.

Rename the subject.

What is the suggested practice if you have a fairly big grammar which you split into many header files ?
 
To repeat my problem, I have fairly big grammar and the compiler throws me the following error (for debug build). Retail build is fine. Usig /bigobj does not fix the debug build.
 
> > "boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128: number
> > of sections exceeded object file format limit : compile with /bigobj"

 

From: ht4n@...
To: boost-users@...
Date: Thu, 5 Nov 2009 13:47:52 -0800
Subject: Re: [Boost-users] rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

I did, and it still did not help for "debug" build. For retail build anyway I don't see problem.

What is the common practice if you have let's say more than 30 grammar modules and each grammar has around 5-10 lines of EBNF and you want to separate each grammar into 1 header file.
 
Thanks
 
HT
 

> To: boost-users@...
> From: TriumphSprint2000@...
> Date: Thu, 5 Nov 2009 16:15:57 -0500
> Subject: Re: [Boost-users] rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj
>
> HT4N - wrote:
> > I have quite a big grammar now, and basically I have multiple grammars
> > separated into many files and at the root grammar I have many
> > alternations like the following:
> >
> > Root = GrammarA
> > | GrammarB
> > ...
> > | GrammarZ
> >
> > It looks like, the compiler complaining about the size of the inline code.
> >
> > Here is the error message from the compiler:
> >
> > "boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128: number
> > of sections exceeded object file format limit : compile with /bigobj"
> >
> > What is the solution to this issue?
>
> Umm, did you try compiling with /bigobj?
>
> Jeff
>
> _______________________________________________
> Boost-users mailing list
> Boost-users@...
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Hotmail: Trusted email with Microsoft's powerful SPAM protection. Sign up now.

Hotmail: Trusted email with Microsoft's powerful SPAM protection. Sign up now.
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: rule.ipp(173) : error C1128: number of sections exceeded object file format limit : compile with /bigobj

by OvermindDL1 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Thu, Nov 5, 2009 at 2:47 PM, HT4N - <ht4n@...> wrote:
> I did, and it still did not help for "debug" build. For retail build anyway
> I don't see problem.
>
> What is the common practice if you have let's say more than 30 grammar
> modules and each grammar has around 5-10 lines of EBNF and you want to
> separate each grammar into 1 header file.

The mini-c example project shows how to split up grammars properly,
may take a look at it.

Also, you will get more responses if you post to the Spirit list instead.
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [Spirit] Problem with fairly big grammar

by Joel de Guzman-2 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

HT4N - wrote:

>
> Rename the subject.
>
> What is the suggested practice if you have a fairly big grammar which
> you split into many header files ?
>  
> To repeat my problem, I have fairly big grammar and the compiler throws
> me the following error (for debug build). Retail build is fine. Usig
> /bigobj does not fix the debug build.
>  
> *> > "boost\spirit\core\non_terminal\impl\rule.ipp(173) : error C1128:
> number
>  > > of sections exceeded object file format limit : compile with /bigobj"

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.

Regards,
--
Joel de Guzman
http://www.boostpro.com
http://spirit.sf.net
http://www.facebook.com/djowel

Meet me at BoostCon
http://www.boostcon.com/home
http://www.facebook.com/boostcon


_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [Spirit] Problem with fairly big grammar

by Ray Burkholder :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> 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


Thank you.


--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.

_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [Spirit] Problem with fairly big grammar

by Chris Hoeppler :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [Spirit] Problem with fairly big grammar

by HT4N - :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Some parts of this message have been removed. Learn more about Nabble's security policy.
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@...
> To: boost-users@...
> 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@...
> http://lists.boost.org/mailman/listinfo.cgi/boost-users


Windows 7: Unclutter your desktop. Learn more.
_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users

Re: [Spirit] Problem with fairly big grammar

by Hartmut Kaiser :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> 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@...
> > To: boost-users@...
> > 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@...
> > http://lists.boost.org/mailman/listinfo.cgi/boost-users
> ________________________________________
> Windows 7: Unclutter your desktop. Learn more.

_______________________________________________
Boost-users mailing list
Boost-users@...
http://lists.boost.org/mailman/listinfo.cgi/boost-users