Boost logo

Boost Users :

Subject: [Boost-users] Spirit 1.39 compilation times
From: Avi Bahra (avibahra_at_[hidden])
Date: 2009-07-20 05:37:57


I am using boost spirit 1.39. On gcc the compilation times are acceptable.
However on AIX with v10.1 compiler, it fails to even compile. After 24hrs
waiting, I gave up.

Ok I realise that the grammer needs to split. Is there any _small_
examples out there, that demonstrates this technique for a beginner ?

In my case I have one grammer and ~70 rules.
Take the following rule:

         rule<ScannerT, string_closure::context_t> identifier ;
         identifier
                = lexeme_d [ (alnum_p || ch_p('_')) >> *(alnum_p ||
ch_p('_')) ]
                                 [ identifier.name =
construct_<std::string>(arg1, arg2) ]
                ;

What is the technique for converting it into a grammer, that is separately
compiled ?

Also how would I reference it again, without including the header file, from
another rule

 dotPath
         = ( str_p(".")
>> +(
                                 str_p("/")
>> identifier
                                 )
            )
            [ dotPath.name = construct_<std::string>(arg1, arg2) ]
        ;

  Any help would greatly appreciated.

  Best regards,
Ta,
   Avi



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