Quantcast

Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Brett Gmoser-2
Hello everybody! I posted this to StackOverflow too, but I've had very low views and no answers. If anybody wants to answer it there as well, be my guest :)

http://stackoverflow.com/questions/4987323/issue-trying-to-compile-spirit-qi-parser

I'll pretty much paste what I wrote there:

Below is a fully self-contained example. The problem appears to be lines 84-89 - if those lines are commented out, the example compiles. I should also add that the basic idea (the struct and BOOST_FUSION_ADAPT_STRUCT) works just fine - the compilation error happens only when the parser gets (marginally) more complex, what it is now. If I have for example five +(char_ - (eol | ':')), it compiles fine. So I don't think the problem is with the fusion struct.

What I'm trying to parse is each line of a file, with five colon-delimited items, with the last three items being optional. The single function takes a boost::filesystem::file, sucks it in using boost.interprocess, and parses it.

Examples of what I want this to parse:

a:1
a:2:c
a:3::d
a:4:::e
a:4:c:d:e

The results should store in the vector<file_line>, and file_line is a struct with five members, the last three being optional. Here is the code, and the errors:

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
# pragma warning(disable : 4512) // assignment operator could not be generated
# pragma warning(disable : 4127) // conditional expression is constant
# pragma warning(disable : 4244) // 'initializing' : conversion from 'int' to 'char', possible loss of data
#endif

#include <boost/fusion/adapted/struct/adapt_struct.hpp>
#include <boost/fusion/include/adapt_struct.hpp>
#include <boost/spirit/home/qi.hpp>
#include <boost/spirit/home/qi/string.hpp>
#include <boost/spirit/home/karma.hpp>
#include <boost/spirit/home/karma/binary.hpp>
#include <boost/spirit/home/phoenix.hpp>
#include <boost/spirit/home/phoenix/bind.hpp>
#include <boost/spirit/home/phoenix/core.hpp>
#include <boost/spirit/home/phoenix/operator.hpp>
#include <boost/spirit/home/phoenix/statement/sequence.hpp>
#include <boost/fusion/include/std_pair.hpp>
#include <boost/interprocess/file_mapping.hpp>
#include <boost/interprocess/mapped_region.hpp>
#include <boost/filesystem/operations.hpp>

#include <string>

// This struct and fusion adapter is for parsing file servers in colon-newline format. 
struct file_line
{
  std::string a;
  unsigned short b;
  boost::optional<std::string> c;
  boost::optional<std::string> d;
  boost::optional<std::string> e;
};
BOOST_FUSION_ADAPT_STRUCT(
  file_line,
  (std::string, a)
  (unsigned short, b)
  (boost::optional<std::string>, c)
  (boost::optional<std::string>, d)
  (boost::optional<std::string>, e)
)

void
import_proxies_colon_newline(const boost::filesystem::path& file)
{
  using namespace boost::spirit;
  using qi::parse;
  using qi::char_;
  using qi::eol;
  using qi::eoi;
  using qi::lit;
  using qi::ushort_;

  // <word>:<ushort>:[word]:[word]:[word]
  if(boost::filesystem::exists(file) && 0 != boost::filesystem::file_size(file))
  {
    // Use Boost.Interprocess for fast sucking in of the file. It works great, and provides the bidirectional
    // iterators that we need for spirit.
    boost::interprocess::file_mapping mapping(file.file_string().c_str(), boost::interprocess::read_only);
    boost::interprocess::mapped_region mapped_rgn(mapping, boost::interprocess::read_only);

    const char*       beg = reinterpret_cast<char*>(mapped_rgn.get_address());
    char const* const end = beg + mapped_rgn.get_size();

    // And parse the data, putting the results into a vector of pairs of strings.
    std::vector<file_line> output;

    parse(beg, end,

          // Begin grammar
          (
            *(
                *eol
              >> +(char_ - (':' | eol) 
              >> ':' >> ushort_         
              >> -(':'
                    >> *(char_ - (':' | eol)) 
                    >> (eol | 
                          -(':'
                              >> *(char_ - (':' | eol)) 

                              // This doesn't work. Comment it out, and it compiles.
                              >> (eol |
                                    -(':'
                                        >>
                                        +(char_ - eol) 
                                      )
                                )
                          )
                        )
                  )
              >> *eol
            )
          )
          // End grammar, begin output data

          ,output
          );
  }
}




1>------ Build started: Project: imbot, Configuration: Debug x64 ------
1>Build started 2/13/2011 5:16:10 PM.
1>ClCompile:
1>  settings.cpp
1>  using native typeof
1>C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/container.hpp(101): error C2955: 'boost::Container' : use of class template requires template argument list
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/concept_check.hpp(602) : see declaration of 'boost::Container'
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/kleene.hpp(65) : see reference to class template instantiation 'boost::spirit::traits::container_value<Container>' being compiled
1>          with
1>          [
1>              Container=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see reference to function template instantiation 'bool boost::spirit::qi::kleene<Subject>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Subject=boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(183) : see reference to function template instantiation 'bool boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operator ()<const T,char>(const Component &,Attribute &) const' being compiled
1>          with
1>          [
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              T=const boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
1>              Component=const boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::vector_iterator<Vector,N>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plu
s<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Vector=boost::fusion::vector1<char &>,
1>              N=0,
1>              Last2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,1>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              First2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,0>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(204) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,boost::fusion::vector_iterator<Vector,N>,boost::fusion::vector_iterator<Vector,1>,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lit
eral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Vector=boost::fusion::vector1<char &>,
1>              N=0,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusi
on::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              First2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,0>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Last2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,1>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(85) : see reference to function template instantiation 'bool boost::spirit::any_if<boost::spirit::traits::attribute_not_unused<Context,Iterator>,Elements,boost::fusion::vector1<T0>,boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>>(const Sequence1 &,Sequence2 &,F,Pred)' being compiled
1>          with
1>          [
1>              Context=const boost::fusion::unused_type,
1>              Iterator=const char *,
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              T0=char &,
1>              Skipper=boost::fusion::unused_type,
1>              Sequence1=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Sequence2=boost::fusion::vector1<char &>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &,boost::mpl::false_) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/optional.hpp(66) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context,Skipper,char>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/alternative_function.hpp(39) : see reference to function template instantiation 'bool boost::spirit::qi::optional<Subject>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/alternative_function.hpp(64) : see reference to function template instantiation 'bool boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>::call<Component>(const Component &,boost::mpl::true_) const' being compiled
1>          with
1>          [
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char,
1>              Component=const boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(37) : see reference to function template instantiation 'bool boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>::operator ()<const T>(const Component &) const' being compiled
1>          with
1>          [
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char,
1>              T=const boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi
::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,
1>              Component=const boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see reference to function template instantiation 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Cons=const boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>,
1>              Last=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              F=boost::spirit::qi::detail::alternative_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
1>              First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusio
n::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(55) : see reference to function template instantiation 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Cons=const boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol
_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
1>              F=boost::spirit::qi::detail::alternative_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
1>              First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusio
n::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,
1>              Last=boost::fusion::cons_iterator<const boost::fusion::nil>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/any.hpp(30) : see reference to function template instantiation 'bool boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag>(const Sequence &,F,Tag)' being compiled
1>          with
1>          [
1>              Sequence=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
1>              F=boost::spirit::qi::detail::alternative_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
1>              Tag=boost::fusion::forward_traversal_tag
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/alternative.hpp(76) : see reference to function template instantiation 'bool boost::fusion::any<Elements,boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,Attribute>>(const Sequence &,F)' being compiled
1>          with
1>          [
1>              Elements=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char,
1>              Sequence=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
1>              F=boost::spirit::qi::detail::alternative_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see reference to function template instantiation 'bool boost::spirit::qi::alternative<Elements>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Elements=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(75) : see reference to function template instantiation 'bool boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operator ()<Component,char>(const Component &,Attribute &) const' being compiled
1>          with
1>          [
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Component=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
:fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,
1>              Attribute=char
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(108) : see reference to function template instantiation 'bool boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_attribute_element<Component>(const Component &,boost::mpl::false_) const' being compiled
1>          with
1>          [
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
1>              Component=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
:fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(134) : see reference to function template instantiation 'bool boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_attribute<Component>(const Component &,boost::mpl::true_) const' being compiled
1>          with
1>          [
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
1>              Component=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
:fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(157) : see reference to function template instantiation 'bool boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_main<Component>(const Component &,boost::mpl::false_) const' being compiled
1>          with
1>          [
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
1>              Component=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
:fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(37) : see reference to function template instantiation 'bool boost::spirit::qi::detail::pass_container<F,Attr>::operator ()<const T>(const Component &) const' being compiled
1>          with
1>          [
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
1>              T=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion:
:cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,
1>              Component=const boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
:fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see reference to function template instantiation 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Cons=const boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>,
1>              Last=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,
1>              First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusio
n::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see reference to function template instantiation 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Cons=const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kle
ene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>,
1>              Last=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,
1>              First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusio
n::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<b
oost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/detail/any.hpp(55) : see reference to function template instantiation 'bool boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Cons=const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lit
eral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,
1>              First=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusio
n::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Last=boost::fusion::cons_iterator<const boost::fusion::nil>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/fusion/algorithm/query/any.hpp(30) : see reference to function template instantiation 'bool boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag>(const Sequence &,F,Tag)' being compiled
1>          with
1>          [
1>              Sequence=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<char,std::char_traits<char>,std::allocator<char>>>,
1>              Tag=boost::fusion::forward_traversal_tag
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(102) : see reference to function template instantiation 'bool boost::fusion::any<Elements,boost::spirit::qi::detail::pass_container<F,Attr>>(const Sequence &,boost::spirit::qi::detail::pass_container<F,Attr>)' being compiled
1>          with
1>          [
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
1>              Sequence=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &,boost::mpl::true_) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=std::basic_string<char,std::char_traits<char>,std::allocator<char>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/optional.hpp(66) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context,Skipper,std::basic_string<_Elem,_Traits,_Ax>>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::cha
r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              _Elem=char,
1>              _Traits=std::char_traits<char>,
1>              _Ax=std::allocator<char>,
1>              Attribute=std::basic_string<char,std::char_traits<char>,std::allocator<char>>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see reference to function template instantiation 'bool boost::spirit::qi::optional<Subject>::parse<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lite
ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=boost::optional<std::string>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(183) : see reference to function template instantiation 'bool boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operator ()<const T,boost::optional<std::string>>(const Component &,Attribute &) const' being compiled
1>          with
1>          [
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              T=const boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi
::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::sta
ndard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,
1>              Component=const boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encod
ing::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,
1>              Attribute=boost::optional<std::string>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::
spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Tag=boost::fusion::struct_iterator_tag,
1>              Category=boost::fusion::random_access_traversal_tag,
1>              Seq=value_type,
1>              Index=2,
1>              Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,5>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusi
on::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>,
1>              First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,2>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::f
usion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boo
st::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Tag=boost::fusion::struct_iterator_tag,
1>              Category=boost::fusion::random_access_traversal_tag,
1>              Seq=value_type,
1>              Index=1,
1>              Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,5>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion
::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<
;boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>,
1>              First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,1>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spiri
t::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Tag=boost::fusion::struct_iterator_tag,
1>              Category=boost::fusion::random_access_traversal_tag,
1>              Seq=value_type,
1>              Index=1,
1>              Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,5>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
oost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion
::nil>>>>>,
1>              First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,1>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<b
oost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::c
har_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Tag=boost::fusion::struct_iterator_tag,
1>              Category=boost::fusion::random_access_traversal_tag,
1>              Seq=value_type,
1>              Index=0,
1>              Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,5>,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<
boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::s
pirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,0>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(204) : see reference to function template instantiation 'bool boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,boost::fusion::cons_iterator<const boost::fusion::nil>,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,boost::fusion::basic_iterator<Tag,Category,Seq,5>,F>(const First1 &,const First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being compiled
1>          with
1>          [
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>,
1>              Cons=const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::
spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::cha
r_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              Tag=boost::fusion::struct_iterator_tag,
1>              Category=boost::fusion::random_access_traversal_tag,
1>              Seq=value_type,
1>              Index=0,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              First1=boost::fusion::cons_iterator<const boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::di
fference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
1>              First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,0>,
1>              Last1=boost::fusion::cons_iterator<const boost::fusion::nil>,
1>              Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boost::fusion::random_access_traversal_tag,value_type,5>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(85) : see reference to function template instantiation 'bool boost::spirit::any_if<boost::spirit::traits::attribute_not_unused<Context,Iterator>,Elements,Attribute,boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>>(const Sequence1 &,Sequence2 &,F,Pred)' being compiled
1>          with
1>          [
1>              Context=const boost::fusion::unused_type,
1>              Iterator=const char *,
1>              Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::
char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              Attribute=value_type,
1>              Skipper=boost::fusion::unused_type,
1>              Sequence1=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standar
d,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::
spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag:
:char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              Sequence2=value_type,
1>              F=boost::spirit::qi::detail::fail_function<const char *,const boost::fusion::unused_type,boost::fusion::unused_type>,
1>              Pred=boost::spirit::traits::attribute_not_unused<const boost::fusion::unused_type,const char *>
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Context,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &,boost::mpl::false_) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char
_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::
char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=value_type
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/operator/kleene.hpp(71) : see reference to function template instantiation 'bool boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context,Skipper,value_type>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char
_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
1>              Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::
char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
1>              Iterator=const char *,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=value_type
1>          ]
1>          C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/qi/parse.hpp(68) : see reference to function template instantiation 'bool boost::spirit::qi::kleene<Subject>::parse<Iterator,const boost::fusion::unused_type,boost::fusion::unused_type,Attr>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &) const' being compiled
1>          with
1>          [
1>              Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char
_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
1>              Iterator=const char *,
1>              Attr=std::vector<file_line>,
1>              Context=const boost::fusion::unused_type,
1>              Skipper=boost::fusion::unused_type,
1>              Attribute=std::vector<file_line>
1>          ]
1>          source\settings.cpp(99) : see reference to function template instantiation 'bool boost::spirit::qi::parse<const char*,boost::proto::exprns_::expr<Tag,Args,Arity>,std::vector<_Ty>>(Iterator &,Iterator,const Expr &,Attr &)' being compiled
1>          with
1>          [
1>              Tag=boost::proto::tag::dereference,
1>              Args=boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> 
&>,1> &,const boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>>,2> &>,1> &>,2> &,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>>,2> &,const boost::spirit::terminal<boost::spirit::tag::ushort_> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag:
:negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boo
st::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &,const boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::p
roto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::p
roto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &,const boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,1> &>,2> &>,1> &>,2> &>,2> &>,1> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,1> &>,2> &>,
1>              Arity=1,
1>              _Ty=file_line,
1>              Iterator=const char *,
1>              Expr=boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boo
st::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,1> &,const boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>>,2> &>,1> &>,2> &,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>>,2> &,const boost::spirit::terminal<boost::spirit::tag::ushort_> &>,2> &,
const boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boos
t::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &,const boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost
::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::argsns_::list2<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &,const boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char &>,0>,const boost::proto::exprns_::expr<boost::proto::
tag::unary_plus,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_> ,const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,1> &>,2> &>,1> &>,2> &>,2> &>,1> &>,2> &>,2> &>,1> &>,2> &,const boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::argsns_::list1<const boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,1> &>,2> &>,1>,
1>              Attr=std::vector<file_line>
1>          ]
1>C:\devel\dependencies\boost\boost-1_44\include\boost/spirit/home/support/container.hpp(102): fatal error C1903: unable to recover from previous error(s); stopping compilation
1>
1>Build FAILED.

1>



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Robert Nelson
> // This doesn't work. Comment it out, and it compiles.
>                               >> (eol |
>                                     -(':'
>                                         >>
>                                         +(char_ - eol)
>                                       )
>                                 )
The reason that adding this breaks the code is because it changes the
attribute type.
Commenting out the output variable in the parse function will also
make it compile.
You need to modify the struct that stores the parse results to match
the attribute type of the grammar, or use a different grammar that
matches the type of the fusion tuple that you are storing the results
in.

I really recommend that you use some sub rules instead of that
moderately complex parser you have there.  It will make debugging a
lot easier.

In the future, please don't include the compiler results.  It will
make the thread a lot easier to read.

Thanks
--Robert Nelson

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Brett Gmoser-2
On 2/13/2011 11:21 PM, Robert Nelson wrote:
The reason that adding this breaks the code is because it changes the
attribute type.
Commenting out the output variable in the parse function will also
make it compile.
You need to modify the struct that stores the parse results to match
the attribute type of the grammar, or use a different grammar that
matches the type of the fusion tuple that you are storing the results
in.

I figured that may be the issue. However, something similar (but less complex) does compile just fine with the output parameter:

  // Begin grammar
  (
    *(
        *eol
      >> +(char_ - ':') 
      >> ':' >> ushort_
      >> ':' >> +(char_ - ':')
      >> ':' >> +(char_ - ':')
      >> ':' >> +(char_ - eol)
      >> *eol
    )
  )
It's basically the same thing; a +(char_ - ':'), a ushort_, and three more +(char_ - ':')'s. I understand there may be issues with all of my ':'s, eol's, etc, that may be not translating to the output structure as I hope it would. I figured this was my issue, but I guess I just don't know how to fix it. I'd tried commenting out the ':'s and eol's, to no avail.  So I guess I'm pretty much lost - I wish it was easier to read the error messages and such. What you said was wrong was what I figured was wrong, but I have no idea how to fix it.

I really recommend that you use some sub rules instead of that
moderately complex parser you have there.  It will make debugging a
lot easier.

I plan to, this is usually a great idea anyway. This is just the shortest possible example to show you guys something (that I feel should) compile.

In the future, please don't include the compiler results.  It will
make the thread a lot easier to read.

Used to posting pastebin'd questions to Freenode #boost, where people seem to appreciate it. Will do it differently next time, sorry!



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Robert Nelson
Your parser attribute type is pretty mean because of all the nested
optionals.  I recommend using semantic actions in this case.  I broke
your grammar up into 2 rules, and added semantic actions which lets it
compile.  I might have changed the grammar a bit, but hopefully this
is enough to get you started.

Oh, and instead of using:
*(char_ - (':' | eol))
use
*(char_ - ':' - eol)
it makes reading a little bit easier I think.

Thanks
--Robert Nelson

------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general

main.cpp (4K) Download Attachment
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Hartmut Kaiser
> Your parser attribute type is pretty mean because of all the nested
> optionals.  I recommend using semantic actions in this case.  I broke your
> grammar up into 2 rules, and added semantic actions which lets it compile.
> I might have changed the grammar a bit, but hopefully this is enough to
> get you started.
>
> Oh, and instead of using:
> *(char_ - (':' | eol))
> use
> *(char_ - ':' - eol)
> it makes reading a little bit easier I think.

Or just: *~char_(":\r\n"), which is 100% equivalent.

Regards Hartmut
---------------
http://boost-spirit.com




------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Hartmut Kaiser
In reply to this post by Brett Gmoser-2
> Hello everybody! I posted this to StackOverflow too, but I've had very low
> views and no answers. If anybody wants to answer it there as well, be my
> guest :)
>
> http://stackoverflow.com/questions/4987323/issue-trying-to-compile-spirit-
> qi-parser
>
> I'll pretty much paste what I wrote there:
> Below is a fully self-contained example. The problem appears to be lines
> 84-89 - if those lines are commented out, the example compiles. I should
> also add that the basic idea (the struct and BOOST_FUSION_ADAPT_STRUCT)
> works just fine - the compilation error happens only when the parser gets
> (marginally) more complex, what it is now. If I have for example five
> +(char_ - (eol | ':')), it compiles fine. So I don't think the problem is
> with the fusion struct.
> What I'm trying to parse is each line of a file, with five colon-delimited
> items, with the last three items being optional. The single function takes
> a boost::filesystem::file, sucks it in using boost.interprocess, and
> parses it.
> Examples of what I want this to parse:
> a:1
> a:2:c
> a:3::d
> a:4:::e
> a:4:c:d:e
> The results should store in the vector<file_line>, and file_line is a
> struct with five members, the last three being optional. Here is the code,
> and the errors:

Your example is far from minimal. I see no reason why you left interprocess,
filesystem or Karma references in the code. This just makes diagnosing
things so much more difficult for everybody willing to help. Moreover you
have a mismatched parenthesis in there somewhere. I assume you missed to
close the '+(char_ - (':' | eol)'.


Ok, let's look closer. This is your (simplified) grammar. It does not do
anything useful anymore, but attribute-wise it should behave the same as the
original one

  *(
       +char_
    >> -(   *char_
          >> (eol |
                -(  *char_
                 >> (eol |
                          -(':'
                              >>
                              +char_
                            )
                      )
                )
              )
        )
  )

The exposed (propagated attribute) of this grammar is:

vector<
  tuple<
    std::vector<char>,
    optional<
      tuple<
        std::vector<char>,
        variant<
          char,
          optional<
            tuple<
              std::vector<char>,
              variant<
                char,
                optional<
                  std::vector<char>
                >
              >
            >
          >
        >
      >
    >
  >
>

Attribute compatibility rules can do quite a bit, but they can't map a
std::string onto a 'variant<char, vector<char> >' for sure. Moreover, I
believe you do not understand your grammar yourself anymore, why do you
expect Spirit to get it right in this case?


What I'd suggest is that you start with simplifying your grammar by
outfactoring things into rules. That not only makes it easier to understand,
but allows you to tell Spirit what attribute you expect to get back from
what subpart of your grammar. For instance:

  rule<char const*, std::string()> e1 = +~char_(":\r\n");
  rule<char const*, std::string()> e2 = *~char_(":\r\n");
  rule<char const*, std::string()> e3 = +~char_("\r\n");
  rule<char const*, ushort()> u = ':' >> ushort_;
  rule<char const*, file_line()> fline =
    *eol >> e1 >> u >> -(':' >> e2 >> (eol | -(':' >> e2 >> (eol | -(':' >>
e3) ) ) )) >> *eol;

which makes the overall grammar more readable already:

  *fline

pretty, huh?

If you think about it further, you will realize, that writing

  foo >> (eol | -bar) >> *eol

is equivalent to:

  foo >> -bar >> *eol

which simplifies it even more:

  rule<char const*, file_line()> f =
    *eol >> e1 >> u >> -(':' >> e2 >> -(':' >> e2 >> -(':' >> e3) ) ) >>
*eol;

What you can see now is that your grammar produces at least 5
sub-attributes, while your file_list has only four members. You need to
adjust your file_list structure accordingly.

The above does compile now (Boost SVN trunk), but it fails producing the
correct results. If I feed it with "a:4:c:d:e", I get the results:
output[0].a == "a", output[0].b == 4, and output[0].c == "cde". Let's
analyze why that happens.

Again, attribute compatibility rules can do only part of the work. In this
case file_list::a gets mapped onto 'e1', file_list::b onto 'u', while
file_list::c gets mapped onto the whole rest of the expression. That's what
you would expect, actually, as the optional breaks the sequence into 3
elements. Your attribute is 'flattened', while the grammar is not.

There are two solutions: a) change your attribute to match the structure of
the grammar:

struct file_line
{
  std::string a;
  unsigned short b;
  boost::optional<
    fusion::vector<
      std::string,
      boost::optional<
        fusion::vector<std::string, boost::optional<std::string> >
      >
    >
  > c;
};

or b) use semantic actions to set the elements of your attribute (which is
what I would do).

HTH
Regards Hartmut
---------------
http://boost-spirit.com



> #if defined(_MSC_VER) && (_MSC_VER >= 1020)
> # pragma warning(disable : 4512) // assignment operator could not be
> generated
> # pragma warning(disable : 4127) // conditional expression is constant
> # pragma warning(disable : 4244) // 'initializing' : conversion from 'int'
> to 'char', possible loss of data
> #endif
>
> #include <boost/fusion/adapted/struct/adapt_struct.hpp>
> #include <boost/fusion/include/adapt_struct.hpp>
> #include <boost/spirit/home/qi.hpp>
> #include <boost/spirit/home/qi/string.hpp>
> #include <boost/spirit/home/karma.hpp>
> #include <boost/spirit/home/karma/binary.hpp>
> #include <boost/spirit/home/phoenix.hpp>
> #include <boost/spirit/home/phoenix/bind.hpp>
> #include <boost/spirit/home/phoenix/core.hpp>
> #include <boost/spirit/home/phoenix/operator.hpp>
> #include <boost/spirit/home/phoenix/statement/sequence.hpp>
> #include <boost/fusion/include/std_pair.hpp>
> #include <boost/interprocess/file_mapping.hpp>
> #include <boost/interprocess/mapped_region.hpp>
> #include <boost/filesystem/operations.hpp>
>
> #include <string>
>
> // This struct and fusion adapter is for parsing file servers in colon-
> newline format.
> struct file_line
> {
>   std::string a;
>   unsigned short b;
>   boost::optional<std::string> c;
>   boost::optional<std::string> d;
>   boost::optional<std::string> e;
> };
> BOOST_FUSION_ADAPT_STRUCT(
>   file_line,
>   (std::string, a)
>   (unsigned short, b)
>   (boost::optional<std::string>, c)
>   (boost::optional<std::string>, d)
>   (boost::optional<std::string>, e)
> )
>
> void
> import_proxies_colon_newline(const boost::filesystem::path& file)
> {
>   using namespace boost::spirit;
>   using qi::parse;
>   using qi::char_;
>   using qi::eol;
>   using qi::eoi;
>   using qi::lit;
>   using qi::ushort_;
>
>   // <word>:<ushort>:[word]:[word]:[word]
>   if(boost::filesystem::exists(file) && 0 !=
> boost::filesystem::file_size(file))
>   {
>     // Use Boost.Interprocess for fast sucking in of the file. It works
> great, and provides the bidirectional
>     // iterators that we need for spirit.
>     boost::interprocess::file_mapping mapping(file.file_string().c_str(),
> boost::interprocess::read_only);
>     boost::interprocess::mapped_region mapped_rgn(mapping,
> boost::interprocess::read_only);
>
>     const char*       beg =
> reinterpret_cast<char*>(mapped_rgn.get_address());
>     char const* const end = beg + mapped_rgn.get_size();
>
>     // And parse the data, putting the results into a vector of pairs of
> strings.
>     std::vector<file_line> output;
>
>     parse(beg, end,
>
>           // Begin grammar
>           (
>             *(
>                 *eol
>               >> +(char_ - (':' | eol)
>               >> ':' >> ushort_
>               >> -(':'
>                     >> *(char_ - (':' | eol))
>                     >> (eol |
>                           -(':'
>                               >> *(char_ - (':' | eol))
>
>                               // This doesn't work. Comment it out, and it
> compiles.
>                               >> (eol |
>                                     -(':'
>                                         >>
>                                         +(char_ - eol)
>                                       )
>                                 )
>                           )
>                         )
>                   )
>               >> *eol
>             )
>           )
>           // End grammar, begin output data
>
>           ,output
>           );
>   }
> }
>
>
>
>
> 1>------ Build started: Project: imbot, Configuration: Debug x64 ------
> 1>Build started 2/13/2011 5:16:10 PM.
> 1>ClCompile:
> 1>  settings.cpp
> 1>  using native typeof
> 1>C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/container.hpp(101): error C2955:
> 'boost::Container' : use of class template requires template argument list
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/concept_check.hpp(602) : see declaration of
> 'boost::Container'
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/kleene.hpp(65) : see reference
> to class template instantiation
> 'boost::spirit::traits::container_value<Container>' being compiled
> 1>          with
> 1>          [
> 1>              Container=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::kleene<Subject>::parse<Iterator,Context,Skipper,Attribu
> te>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &)
> const' being compiled
> 1>          with
> 1>          [
> 1>
> Subject=boost::spirit::qi::difference<boost::spirit::qi::char_class<boost:
> :spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_enco
> ding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost:
> :spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fals
> e>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>
> >,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(183) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operat
> or ()<const T,char>(const Component &,Attribute &) const' being compiled
> 1>          with
> 1>          [
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              T=const
> boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi:
> :char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost:
> :spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::f
> usion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::
> standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boo
> st::fusion::nil>>>>>,
> 1>              Component=const
> boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi:
> :char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost:
> :spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::f
> usion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::
> standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boo
> st::fusion::nil>>>>>,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last
> 1,boost::fusion::vector_iterator<Vector,N>,Last2,F>(const First1 &,const
> First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being
> compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differenc
> e<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spiri
> t::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::
> alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spi
> rit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit
> ::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit
> ::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost:
> :fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plu
> s<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spiri
> t::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::
> standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::f
> usion::nil>>>,boost::fusion::nil>>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              Vector=boost::fusion::vector1<char &>,
> 1>              N=0,
> 1>
> Last2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,1>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differenc
> e<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spiri
> t::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::
> alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spi
> rit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit
> ::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit
> ::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost:
> :fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
> 1>
> First2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,0>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(204) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,boos
> t::fusion::cons_iterator<const
> boost::fusion::nil>,boost::fusion::vector_iterator<Vector,N>,boost::fusion
> ::vector_iterator<Vector,1>,F>(const First1 &,const First2 &,const Last1
> &,const Last2 &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit
> ::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::s
> tandard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit
> ::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boos
> t::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boos
> t::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::
> spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boo
> st::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lit
> eral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion
> ::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit
> ::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,b
> oost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,bo
> ost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Vector=boost::fusion::vector1<char &>,
> 1>              N=0,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit
> ::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::s
> tandard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit
> ::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boos
> t::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boos
> t::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::
> spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boo
> st::spirit::qi::sequence<boost::fusi
> on::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::sta
> ndard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
> boost::fusion::nil>>>>,
> 1>
> First2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,0>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>
> Last2=boost::fusion::vector_iterator<boost::fusion::vector1<char &>,1>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(85) : see
> reference to function template instantiation 'bool
> boost::spirit::any_if<boost::spirit::traits::attribute_not_unused<Context,
> Iterator>,Elements,boost::fusion::vector1<T0>,boost::spirit::qi::detail::f
> ail_function<Iterator,Context,Skipper>>(const Sequence1 &,Sequence2
> &,F,Pred)' being compiled
> 1>          with
> 1>          [
> 1>              Context=const boost::fusion::unused_type,
> 1>              Iterator=const char *,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::pl
> us<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::
> fusion::nil>>>,boost::fusion::nil>>>,
> 1>              T0=char &,
> 1>              Skipper=boost::fusion::unused_type,
> 1>
> Sequence1=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spiri
> t::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::
> qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boo
> st::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_e
> ncoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,f
> alse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil
> >>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::co
> ns<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::op
> tional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::
> literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::p
> lus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spi
> rit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding
> ::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost:
> :fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Sequence2=boost::fusion::vector1<char &>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Co
> ntext,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const
> Skipper &,Attribute &,boost::mpl::false_) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit:
> :qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,bo
> ost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boo
> st::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::pl
> us<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::
> fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/optional.hpp(66) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context
> ,Skipper,char>(Iterator &,const Iterator &,Context &,const Skipper
> &,Attribute &) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit:
> :qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,bo
> ost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boo
> st::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::pl
> us<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::
> fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/alternative_function.hpp(39) :
> see reference to function template instantiation 'bool
> boost::spirit::qi::optional<Subject>::parse<Iterator,Context,Skipper,Attri
> bute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &)
> const' being compiled
> 1>          with
> 1>          [
> 1>
> Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit:
> :qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,bo
> ost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boo
> st::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/alternative_function.hpp(64) :
> see reference to function template instantiation 'bool
> boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,A
> ttribute>::call<Component>(const Component &,boost::mpl::true_) const'
> being compiled
> 1>          with
> 1>          [
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char,
> 1>              Component=const
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char
> <boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
> irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boo
> st::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost:
> :spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_cl
> ass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit:
> :char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::
> nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(37) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::alternative_function<Iterator,Context,Skipper,A
> ttribute>::operator ()<const T>(const Component &) const' being compiled
> 1>          with
> 1>          [
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char,
> 1>              T=const
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char
> <boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi
> ::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spir
> it::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit:
> :qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,
> boost::fusion::nil>>>,boost::fusion::nil>>>>>,
> 1>              Component=const
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char
> <boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
> irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boo
> st::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost:
> :spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_cl
> ass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit:
> :char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::
> nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see
> reference to function template instantiation 'bool
> boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,
> F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequenc
> e<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::klee
> ne<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spir
> it::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,bo
> ost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,bo
> ost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost
> ::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>,
> 1>              Last=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              F=boost::spirit::qi::detail::alternative_function<const
> char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
> 1>              First=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequenc
> e<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::klee
> ne<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spir
> it::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,bo
> ost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,bo
> ost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost
> ::spirit::qi::eol_parser,boost::fusio
> n::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fus
> ion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::st
> andard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spir
> it::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_
> code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,bo
> ost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>
> ,boost::fusion::nil>>>>>,boost::fusion::nil>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(55) : see
> reference to function template instantiation 'bool
> boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost
> ::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const
> Last &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boos
> t::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<bo
> ost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,
> false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::di
> fference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost
> ::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spiri
> t::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boo
> st::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost:
> :spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost:
> :spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi:
> :sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spiri
> t::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::
> qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost
> ::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_enc
> oding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,b
> oost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>,
> 1>              F=boost::spirit::qi::detail::alternative_function<const
> char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
> 1>              First=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boos
> t::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<bo
> ost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,
> false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::di
> fference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost
> ::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spiri
> t::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boo
> st::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost:
> :spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost:
> :spirit::qi::alternative<boost::fusio
> n::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::q
> i::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit:
> :qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost
> ::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost
> ::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag:
> :char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_par
> ser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>
> ,boost::fusion::nil>>>,
> 1>              Last=boost::fusion::cons_iterator<const
> boost::fusion::nil>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/any.hpp(30) : see reference to
> function template instantiation 'bool
> boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag
> >(const Sequence &,F,Tag)' being compiled
> 1>          with
> 1>          [
> 1>
> Sequence=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stand
> ard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::co
> ns<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::e
> ol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>,
> 1>              F=boost::spirit::qi::detail::alternative_function<const
> char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>,
> 1>              Tag=boost::fusion::forward_traversal_tag
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/alternative.hpp(76) : see
> reference to function template instantiation 'bool
> boost::fusion::any<Elements,boost::spirit::qi::detail::alternative_functio
> n<Iterator,Context,Skipper,Attribute>>(const Sequence &,F)' being compiled
> 1>          with
> 1>          [
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stand
> ard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::co
> ns<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::e
> ol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char,
> 1>
> Sequence=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stand
> ard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::co
> ns<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::e
> ol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>,
> 1>              F=boost::spirit::qi::detail::alternative_function<const
> char *,const boost::fusion::unused_type,boost::fusion::unused_type,char>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::alternative<Elements>::parse<Iterator,Context,Skipper,A
> ttribute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute
> &) const' being compiled
> 1>          with
> 1>          [
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stand
> ard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::co
> ns<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::e
> ol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(75) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operat
> or ()<Component,char>(const Component &,Attribute &) const' being compiled
> 1>          with
> 1>          [
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Component=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spi
> rit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>,
> 1>              Attribute=char
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(108) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_attribute_elem
> ent<Component>(const Component &,boost::mpl::false_) const' being compiled
> 1>          with
> 1>          [
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>
> Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
> 1>              Component=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spi
> rit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(134) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_attribute<Comp
> onent>(const Component &,boost::mpl::true_) const' being compiled
> 1>          with
> 1>          [
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>
> Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
> 1>              Component=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spi
> rit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/pass_container.hpp(157) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::pass_container<F,Attr>::dispatch_main<Component
> >(const Component &,boost::mpl::false_) const' being compiled
> 1>          with
> 1>          [
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>
> Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
> 1>              Component=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spi
> rit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(37) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::pass_container<F,Attr>::operator ()<const
> T>(const Component &) const' being compiled
> 1>          with
> 1>          [
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>
> Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
> 1>              T=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion:
> :cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi:
> :optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::q
> i::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::
> fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parse
> r>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,b
> oost::fusion::nil>>>,
> 1>              Component=const
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spi
> rit::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see
> reference to function template instantiation 'bool
> boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,
> F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit:
> :qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,bo
> ost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser
> ,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stand
> ard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit:
> :qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_cod
> e<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost
> ::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,bo
> ost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>,
> 1>              Last=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>
> F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fai
> l_function<const char *,const
> boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<c
> har,std::char_traits<char>,std::allocator<char>>>,
> 1>              First=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit:
> :qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,bo
> ost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser
> ,boost::fusion::nil>>>>>,boost::fusio
> n::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::
> qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spir
> it::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost
> ::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
> pirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_clas
> s<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::c
> har_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::ni
> l>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,
> boost::fusion::nil>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(42) : see
> reference to function template instantiation 'bool
> boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,Last,
> F>(const First &,const Last &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differenc
> e<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spiri
> t::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::
> alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spi
> rit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit
> ::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit
> ::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost:
> :fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kle
> ene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spi
> rit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding
> ::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spi
> rit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
> oost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,b
> oost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<
> boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi
> ::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost
> ::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>,
> 1>              Last=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>
> F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fai
> l_function<const char *,const
> boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<c
> har,std::char_traits<char>,std::allocator<char>>>,
> 1>              First=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differenc
> e<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spiri
> t::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::
> alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spi
> rit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit
> ::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit
> ::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost:
> :fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusio
> n::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spi
> rit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char
> _,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::altern
> ative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::con
> s<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::c
> ons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<b
> oost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char
> _encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>
> >>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boo
> st::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/detail/any.hpp(55) : see
> reference to function template instantiation 'bool
> boost::fusion::detail::linear_any<boost::fusion::cons_iterator<Cons>,boost
> ::fusion::cons_iterator<const boost::fusion::nil>,F>(const First &,const
> Last &,F &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit
> ::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::s
> tandard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit
> ::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boos
> t::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boos
> t::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::
> spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boo
> st::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::lit
> eral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion
> ::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<b
> oost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enc
> oding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_par
> ser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alterna
> tive<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons
> <boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::co
> ns<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,
> true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi:
> :difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<bo
> ost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::sp
> irit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost:
> :fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>,
> 1>
> F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fai
> l_function<const char *,const
> boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<c
> har,std::char_traits<char>,std::allocator<char>>>,
> 1>              First=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit
> ::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::s
> tandard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit
> ::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boos
> t::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boos
> t::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::
> spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boo
> st::spirit::qi::sequence<boost::fusio
> n::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stan
> dard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spir
> it::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_
> code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::c
> ons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::
> eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::
> qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::sp
> irit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spiri
> t::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<bo
> ost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_
> encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>
> >,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boos
> t::fusion::nil>>>>,
> 1>              Last=boost::fusion::cons_iterator<const
> boost::fusion::nil>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/fusion/algorithm/query/any.hpp(30) : see reference to
> function template instantiation 'bool
> boost::fusion::detail::any<Sequence,F,boost::fusion::forward_traversal_tag
> >(const Sequence &,F,Tag)' being compiled
> 1>          with
> 1>          [
> 1>
> Sequence=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kl
> eene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::sp
> irit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodin
> g::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>>>,boost::fusion::nil>>>,
> 1>
> F=boost::spirit::qi::detail::pass_container<boost::spirit::qi::detail::fai
> l_function<const char *,const
> boost::fusion::unused_type,boost::fusion::unused_type>,std::basic_string<c
> har,std::char_traits<char>,std::allocator<char>>>,
> 1>              Tag=boost::fusion::forward_traversal_tag
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(102) : see
> reference to function template instantiation 'bool
> boost::fusion::any<Elements,boost::spirit::qi::detail::pass_container<F,At
> tr>>(const Sequence &,boost::spirit::qi::detail::pass_container<F,Attr>)'
> being compiled
> 1>          with
> 1>          [
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kl
> eene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::sp
> irit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodin
> g::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>>>,boost::fusion::nil>>>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>
> Attr=std::basic_string<char,std::char_traits<char>,std::allocator<char>>,
> 1>
> Sequence=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kl
> eene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::sp
> irit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodin
> g::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>>>,boost::fusion::nil>>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Co
> ntext,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const
> Skipper &,Attribute &,boost::mpl::true_) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spiri
> t::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
> boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<bo
> ost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_pars
> er,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternat
> ive<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kl
> eene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::sp
> irit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodin
> g::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>
> Attribute=std::basic_string<char,std::char_traits<char>,std::allocator<cha
> r>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/optional.hpp(66) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context
> ,Skipper,std::basic_string<_Elem,_Traits,_Ax>>(Iterator &,const Iterator
> &,Context &,const Skipper &,Attribute &) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spiri
> t::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
> boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<bo
> ost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_pars
> er,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternat
> ive<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boos
> t::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_en
> coding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,fa
> lse>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>
> >>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::cha
> r_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kl
> eene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::sp
> irit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodin
> g::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,
> boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boo
> st::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional
> <boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spir
> it::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_
> ,boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,
> boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost
> ::fusion::nil>>>,boost::fusion::nil>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              _Elem=char,
> 1>              _Traits=std::char_traits<char>,
> 1>              _Ax=std::allocator<char>,
> 1>
> Attribute=std::basic_string<char,std::char_traits<char>,std::allocator<cha
> r>>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/detail/fail_function.hpp(38) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::optional<Subject>::parse<Iterator,Context,Skipper,Attri
> bute>(Iterator &,const Iterator &,Context &,const Skipper &,Attribute &)
> const' being compiled
> 1>          with
> 1>          [
> 1>
> Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>,boost::fu
> sion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::
> spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::c
> har_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternati
> ve<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::
> cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion
> ::cons<boost::spirit::qi::lite
> ral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion:
> :cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spiri
> t::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
> boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<bo
> ost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_pars
> er,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternat
> ive<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::
> difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boo
> st::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spi
> rit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::
> fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=boost::optional<std::string>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(183) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::detail::fail_function<Iterator,Context,Skipper>::operat
> or ()<const T,boost::optional<std::string>>(const Component &,Attribute &)
> const' being compiled
> 1>          with
> 1>          [
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              T=const
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char
> <boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi
> ::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spir
> it::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit:
> :qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class<bo
> ost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_
> encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<bo
> ost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,true,
> false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::ni
> l>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::c
> ons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::o
> ptional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::sta
> ndard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::spiri
> t::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_c
> ode<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boo
> st::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,
> boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,
> 1>              Component=const
> boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_char
> <boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<bo
> ost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_pa
> rser,boost::fusion::cons<boost::spirit::qi::optional<boost::sp
> irit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boo
> st::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost:
> :spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_
> class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spiri
> t::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion:
> :cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standa
> rd,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fu
> sion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::f
> usion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spiri
> t::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spi
> rit::qi::literal_char<boost::spirit::char_encod
> ing::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boos
> t::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag
> ::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standa
> rd>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion:
> :nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>
> >>>,
> 1>              Attribute=boost::optional<std::string>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last
> 1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const
> First1 &,const First2 &,const Last1 &,const Last2 &,F
> &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequenc
> e<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::klee
> ne<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spir
> it::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,bo
> ost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,bo
> ost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost
> ::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opt
> ional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::l
> iteral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusi
> on::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::sp
> irit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::cha
> r_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative
> <boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_e
> ncoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_p
> arser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alter
> native<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::co
> ns<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fusion::
> cons<boost::spirit::qi::literal_char<boost::
> spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spi
> rit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<
> boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::cha
> r_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>
> >>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,bo
> ost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost:
> :spirit::qi::eol_parser>,boost::fusion::nil>>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              Tag=boost::fusion::struct_iterator_tag,
> 1>              Category=boost::fusion::random_access_traversal_tag,
> 1>              Seq=value_type,
> 1>              Index=2,
> 1>
> Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boo
> st::fusion::random_access_traversal_tag,value_type,5>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequenc
> e<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::klee
> ne<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spir
> it::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding:
> :standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spir
> it::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,bo
> ost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,bo
> ost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost
> ::spirit::qi::eol_parser,boost::fusi
> on::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::fu
> sion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::s
> tandard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::s
> pirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::ch
> ar_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>
> ,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::lit
> eral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion
> ::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion
> ::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::q
> i::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spiri
> t::qi::sequence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::e
> ol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::ni
> l>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<b
> oost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil
> >>>,
> 1>
> First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,bo
> ost::fusion::random_access_traversal_tag,value_type,2>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last
> 1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const
> First1 &,const First2 &,const Last1 &,const Last2 &,F
> &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned
> short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>
> ,boost::f
> usion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spir
> it::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost::
> spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<b
> oost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boos
> t::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::cha
> r_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spi
> rit::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusio
> n::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::stan
> dard,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::
> fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost:
> :fusion::cons<boost::spirit::qi::eol_parser,boo
> st::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<b
> oost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enc
> oding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<bo
> ost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::t
> ag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::stan
> dard>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusio
> n::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil
> >>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol
> _parser>,boost::fusion::nil>>>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              Tag=boost::fusion::struct_iterator_tag,
> 1>              Category=boost::fusion::random_access_traversal_tag,
> 1>              Seq=value_type,
> 1>              Index=1,
> 1>
> Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boo
> st::fusion::random_access_traversal_tag,value_type,5>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::uint_parser_impl<unsigned
> short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion
> ::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusio
> n::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::q
> i::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit:
> :qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost
> ::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boo
> st::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::ta
> g::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alter
> native<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::
> char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi:
> :eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi:
> :alternative<boost::fusion::cons<
> ;boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::opti
> onal<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::li
> teral_char<boost::spirit::char_encoding::standard,true,false>,boost::fusio
> n::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spiri
> t::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,
> boost::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,b
> oost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost:
> :fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit:
> :qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>,
> 1>
> First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,bo
> ost::fusion::random_access_traversal_tag,value_type,1>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last
> 1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const
> First1 &,const First2 &,const Last1 &,const Last2 &,F
> &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_p
> arser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>
> ,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optiona
> l<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::liter
> al_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::
> cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit
> ::qi::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,b
> oost::spirit::char_encoding::standard>>,boost::spirit::qi::alternative<boo
> st::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encod
> ing::standard,true,false>,boost::fusion::cons<boost::spiri
> t::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spiri
> t::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost
> ::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boo
> st::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encod
> ing::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boos
> t::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag
> ::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standa
> rd>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion:
> :nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>
> >>>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_p
> arser>,boost::fusion::nil>>>>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              Tag=boost::fusion::struct_iterator_tag,
> 1>              Category=boost::fusion::random_access_traversal_tag,
> 1>              Seq=value_type,
> 1>              Index=1,
> 1>
> Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boo
> st::fusion::random_access_traversal_tag,value_type,5>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_en
> coding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_p
> arser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::s
> pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spir
> it::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spir
> it::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boos
> t::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<bo
> ost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<b
> oost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::
> tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::sta
> ndard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::
> qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
> oost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,b
> oost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boos
> t::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<
> boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal
> _char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::co
> ns<boost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi
> ::char_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost
> ::spirit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost:
> :fusion::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusi
> on::nil>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::
> kleene<boost::spirit::qi::eol_parser>,boost::fusion
> ::nil>>>>>,
> 1>
> First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,bo
> ost::fusion::random_access_traversal_tag,value_type,1>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(190) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,Last
> 1,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,Last2,F>(const
> First1 &,const First2 &,const Last1 &,const Last2 &,F
> &,boost::mpl::false_)' being compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<
> boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit:
> :tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::li
> teral_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fus
> ion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::st
> andard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl
> <unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>
> ,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optiona
> l<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::liter
> al_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::
> cons<boost::spirit::qi::kleene<boost::spirit::qi::difference<b
> oost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit::
> tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::alt
> ernative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::q
> i::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::q
> i::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fu
> sion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost::
> fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding:
> :standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost::s
> pirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::ch
> ar_code<boost::spirit::tag::char_,boost::spirit::c
> har_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusion::ni
> l>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,
> boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene<boos
> t::spirit::qi::eol_parser>,boost::fusion::nil>>>>>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>              Tag=boost::fusion::struct_iterator_tag,
> 1>              Category=boost::fusion::random_access_traversal_tag,
> 1>              Seq=value_type,
> 1>              Index=0,
> 1>
> Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boo
> st::fusion::random_access_traversal_tag,value_type,5>,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<
> boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit:
> :tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::li
> teral_char<boost::spirit::char_encoding::standard,true,false>>>,boost::fus
> ion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::st
> andard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_impl
> <unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::k
> leene<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::s
> pirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encodi
> ng::standard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>
> ,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<bo
> ost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optiona
> l<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::liter
> al_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::
> cons<boost::spirit::qi::kleene<
> boost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit:
> :tag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::st
> andard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit:
> :qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boost
> ::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost
> ::fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::s
> pirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boos
> t::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_cha
> r<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<b
> oost::spirit::qi::plus<boost::spirit::qi::difference<boost::spirit::qi::ch
> ar_class<boost::spirit::tag::char_code<boost::s
> pirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::
> qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fusio
> n::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::c
> ons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fusion
> ::nil>>>>>>,
> 1>
> First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,bo
> ost::fusion::random_access_traversal_tag,value_type,0>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/algorithm/any_if.hpp(204) : see
> reference to function template instantiation 'bool
> boost::spirit::detail::any_if<Pred,boost::fusion::cons_iterator<Cons>,boos
> t::fusion::cons_iterator<const
> boost::fusion::nil>,boost::fusion::basic_iterator<Tag,Category,Seq,Index>,
> boost::fusion::basic_iterator<Tag,Category,Seq,5>,F>(const First1 &,const
> First2 &,const Last1 &,const Last2 &,F &,boost::mpl::false_)' being
> compiled
> 1>          with
> 1>          [
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>,
> 1>              Cons=const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parse
> r>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::differen
> ce<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spir
> it::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::
> fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding:
> :standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_i
> mpl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::
> spirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spi
> rit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_clas
> s<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::c
> har_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::con
> s<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,t
> rue,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion
> ::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusio
> n::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::q
> i::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit:
> :qi::literal_char<boost::spirit::char_encoding::standard,true,false>,
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differenc
> e<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spiri
> t::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::
> alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spi
> rit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit
> ::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit
> ::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost:
> :fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boos
> t::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodi
> ng::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost
> ::spirit::qi::difference<boost::spirit::qi::cha
> r_class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spi
> rit::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusi
> on::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::n
> il>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleen
> e<boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>,
> 1>              Tag=boost::fusion::struct_iterator_tag,
> 1>              Category=boost::fusion::random_access_traversal_tag,
> 1>              Seq=value_type,
> 1>              Index=0,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              First1=boost::fusion::cons_iterator<const
> boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parse
> r>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::differen
> ce<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spir
> it::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi:
> :literal_char<boost::spirit::char_encoding::standard,true,false>>>,boost::
> fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding:
> :standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint_parser_i
> mpl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> ,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::differen
> ce<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spir
> it::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi:
> :alternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::sp
> irit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spiri
> t::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spiri
> t::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost
> ::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boo
> st::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encod
> ing::standard,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<bo
> ost::spirit::qi::difference<boost::spirit::qi::char_class<boost::spirit::t
> ag::char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::stan
> dard>>,boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::q
> i::literal_char<boost::spirit::char_encoding::standard,true,false>,boost::
> fusion::cons<boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::
> fusion::cons<boost::spirit::qi::alternative<boost::fusion::cons<boost::spi
> rit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi::optional<boost:
> :spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi::literal_char<
> boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<boo
> st::spirit::qi::plus<boost::spirit::qi::di
> fference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost
> ::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::spiri
> t::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::nil>>>,boost::fu
> sion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion
> ::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_parser>,boost::fus
> ion::nil>>>>>>>,
> 1>
> First2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,bo
> ost::fusion::random_access_traversal_tag,value_type,0>,
> 1>              Last1=boost::fusion::cons_iterator<const
> boost::fusion::nil>,
> 1>
> Last2=boost::fusion::basic_iterator<boost::fusion::struct_iterator_tag,boo
> st::fusion::random_access_traversal_tag,value_type,5>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(85) : see
> reference to function template instantiation 'bool
> boost::spirit::any_if<boost::spirit::traits::attribute_not_unused<Context,
> Iterator>,Elements,Attribute,boost::spirit::qi::detail::fail_function<Iter
> ator,Context,Skipper>>(const Sequence1 &,Sequence2 &,F,Pred)' being
> compiled
> 1>          with
> 1>          [
> 1>              Context=const boost::fusion::unused_type,
> 1>              Iterator=const char *,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::
> eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi:
> :difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<bo
> ost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>
> >,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint
> _parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::
> qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code
> <boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost:
> :spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_ch
> ar<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<
> boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
> pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_cl
> ass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit:
> :char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::c
> ons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusi
> on::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fus
> ion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit:
> :qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spiri
> t::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boo
> st::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boo
> st::spirit::qi::char_class<boost::spirit::tag::
> char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard
> >>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::n
> il>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>
> >,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_par
> ser>,boost::fusion::nil>>>>>>,
> 1>              Attribute=value_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>
> Sequence1=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi:
> :eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi
> ::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<b
> oost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::s
> pirit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>
> >>,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char
> _encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uin
> t_parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standar
> d,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit:
> :qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_cod
> e<boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost
> ::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_c
> har<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons
> <boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons
> <boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol
> _parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi:
> :sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spiri
> t::char_encoding::standard,true,false>,boost::fusion::cons<boost::
> spirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_c
> lass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit
> ::char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::
> cons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standar
> d,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fus
> ion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fu
> sion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit
> ::qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spir
> it::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,bo
> ost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<bo
> ost::spirit::qi::char_class<boost::spirit::tag:
> :char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standar
> d>>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::
> nil>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>
> >>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_pa
> rser>,boost::fusion::nil>>>>>>,
> 1>              Sequence2=value_type,
> 1>              F=boost::spirit::qi::detail::fail_function<const char
> *,const boost::fusion::unused_type,boost::fusion::unused_type>,
> 1>              Pred=boost::spirit::traits::attribute_not_unused<const
> boost::fusion::unused_type,const char *>
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/sequence_base.hpp(118) : see
> reference to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse_impl<Iterator,Co
> ntext,Skipper,Attribute>(Iterator &,const Iterator &,Context &,const
> Skipper &,Attribute &,boost::mpl::false_) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::
> qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost
> ::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_enc
> oding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
> pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spir
> it::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class
> <boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::ch
> ar_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons
> <boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,tr
> ue,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion:
> :nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion
> ::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi
> ::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::
> qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
> oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::a
> lternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spir
> it::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit:
> :qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit:
> :qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::
> fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost
> ::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodin
> g::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost:
> :spirit::qi::difference<boost::spirit::qi::char
> _class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spir
> it::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusio
> n::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::ni
> l>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::
> eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi:
> :difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<bo
> ost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>
> >,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint
> _parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::
> qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code
> <boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost:
> :spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_ch
> ar<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<
> boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
> pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_cl
> ass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit:
> :char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::c
> ons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusi
> on::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fus
> ion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit:
> :qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spiri
> t::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boo
> st::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boo
> st::spirit::qi::char_class<boost::spirit::tag::
> char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard
> >>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::n
> il>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>
> >,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_par
> ser>,boost::fusion::nil>>>>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=value_type
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/operator/kleene.hpp(71) : see reference
> to function template instantiation 'bool
> boost::spirit::qi::sequence_base<Derived,Elements>::parse<Iterator,Context
> ,Skipper,value_type>(Iterator &,const Iterator &,Context &,const Skipper
> &,Attribute &) const' being compiled
> 1>          with
> 1>          [
> 1>
> Derived=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::
> qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost
> ::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_enc
> oding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
> pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spir
> it::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class
> <boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::ch
> ar_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons
> <boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,tr
> ue,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion:
> :nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion
> ::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi
> ::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::
> qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
> oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::a
> lternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spir
> it::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit:
> :qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit:
> :qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::
> fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost
> ::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodin
> g::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost:
> :spirit::qi::difference<boost::spirit::qi::char
> _class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spir
> it::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusio
> n::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::ni
> l>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
> 1>
> Elements=boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::
> eol_parser>,boost::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi:
> :difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code<bo
> ost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost::sp
> irit::qi::literal_char<boost::spirit::char_encoding::standard,true,false>>
> >,boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_
> encoding::standard,true,false>,boost::fusion::cons<boost::spirit::qi::uint
> _parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::ch
> ar_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::
> qi::difference<boost::spirit::qi::char_class<boost::spirit::tag::char_code
> <boost::spirit::tag::char_,boost::spirit::char_encoding::standard>>,boost:
> :spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::literal_ch
> ar<boost::spirit::char_encoding::standard,true,false>,boost::fusion::cons<
> boost::spirit::qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<
> boost::spirit::qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_
> parser,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::
> sequence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spirit
> ::char_encoding::standard,true,false>,boost::fusion::cons<boost::s
> pirit::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_cl
> ass<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit:
> :char_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::c
> ons<boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard
> ,true,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusi
> on::nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fus
> ion::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit:
> :qi::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spiri
> t::qi::literal_char<boost::spirit::char_encoding::standard,true,false>,boo
> st::fusion::cons<boost::spirit::qi::plus<boost::spirit::qi::difference<boo
> st::spirit::qi::char_class<boost::spirit::tag::
> char_code<boost::spirit::tag::char_,boost::spirit::char_encoding::standard
> >>,boost::spirit::qi::eol_parser>>,boost::fusion::nil>>>>,boost::fusion::n
> il>>>,boost::fusion::nil>>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>
> >,boost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::eol_par
> ser>,boost::fusion::nil>>>>>>,
> 1>              Iterator=const char *,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=value_type
> 1>          ]
> 1>          C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/qi/parse.hpp(68) : see reference to
> function template instantiation 'bool
> boost::spirit::qi::kleene<Subject>::parse<Iterator,const
> boost::fusion::unused_type,boost::fusion::unused_type,Attr>(Iterator
> &,const Iterator &,Context &,const Skipper &,Attribute &) const' being
> compiled
> 1>          with
> 1>          [
> 1>
> Subject=boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::qi:
> :kleene<boost::spirit::qi::eol_parser>,boost::fusion::cons<boost::spirit::
> qi::plus<boost::spirit::qi::difference<boost::spirit::qi::char_class<boost
> ::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::char_enc
> oding::standard>>,boost::spirit::qi::literal_char<boost::spirit::char_enco
> ding::standard,true,false>>>,boost::fusion::cons<boost::spirit::qi::litera
> l_char<boost::spirit::char_encoding::standard,true,false>,boost::fusion::c
> ons<boost::spirit::qi::uint_parser_impl<unsigned short,10,1,-
> 1>,boost::fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequ
> ence<boost::fusion::cons<boost::spirit::qi::literal_char<boost::s
> pirit::char_encoding::standard,true,false>,boost::fusion::cons<boost::spir
> it::qi::kleene<boost::spirit::qi::difference<boost::spirit::qi::char_class
> <boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spirit::ch
> ar_encoding::standard>>,boost::spirit::qi::alternative<boost::fusion::cons
> <boost::spirit::qi::literal_char<boost::spirit::char_encoding::standard,tr
> ue,false>,boost::fusion::cons<boost::spirit::qi::eol_parser,boost::fusion:
> :nil>>>>>,boost::fusion::cons<boost::spirit::qi::alternative<boost::fusion
> ::cons<boost::spirit::qi::eol_parser,boost::fusion::cons<boost::spirit::qi
> ::optional<boost::spirit::qi::sequence<boost::fusion::cons<boost::spirit::
> qi::literal_char<boost::spirit::char_encoding::standard,true,false>,b
> oost::fusion::cons<boost::spirit::qi::kleene<boost::spirit::qi::difference
> <boost::spirit::qi::char_class<boost::spirit::tag::char_code<boost::spirit
> ::tag::char_,boost::spirit::char_encoding::standard>>,boost::spirit::qi::a
> lternative<boost::fusion::cons<boost::spirit::qi::literal_char<boost::spir
> it::char_encoding::standard,true,false>,boost::fusion::cons<boost::spirit:
> :qi::eol_parser,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit:
> :qi::alternative<boost::fusion::cons<boost::spirit::qi::eol_parser,boost::
> fusion::cons<boost::spirit::qi::optional<boost::spirit::qi::sequence<boost
> ::fusion::cons<boost::spirit::qi::literal_char<boost::spirit::char_encodin
> g::standard,true,false>,boost::fusion::cons<boost::spirit::qi::plus<boost:
> :spirit::qi::difference<boost::spirit::qi::char
> _class<boost::spirit::tag::char_code<boost::spirit::tag::char_,boost::spir
> it::char_encoding::standard>>,boost::spirit::qi::eol_parser>>,boost::fusio
> n::nil>>>>,boost::fusion::nil>>>,boost::fusion::nil>>>>>,boost::fusion::ni
> l>>>,boost::fusion::nil>>>>>,boost::fusion::cons<boost::spirit::qi::kleene
> <boost::spirit::qi::eol_parser>,boost::fusion::nil>>>>>>>,
> 1>              Iterator=const char *,
> 1>              Attr=std::vector<file_line>,
> 1>              Context=const boost::fusion::unused_type,
> 1>              Skipper=boost::fusion::unused_type,
> 1>              Attribute=std::vector<file_line>
> 1>          ]
> 1>          source\settings.cpp(99) : see reference to function template
> instantiation 'bool boost::spirit::qi::parse<const
> char*,boost::proto::exprns_::expr<Tag,Args,Arity>,std::vector<_Ty>>(Iterat
> or &,Iterator,const Expr &,Attr &)' being compiled
> 1>          with
> 1>          [
> 1>              Tag=boost::proto::tag::dereference,
> 1>              Args=boost::proto::argsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0>
> &>,1> &,const
> boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::ar
> gsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::arg
> sns_::term<const char &>,0>>,2> &>,1> &>,2>
> &,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::ar
> gsns_::term<const char &>,0>>,2> &,const
> boost::spirit::terminal<boost::spirit::tag::ushort_> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag:
> :negate,boost::proto::argsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boos
> t::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<boost::proto::exprns_::expr<boo
> st::proto::tag::terminal,boost::proto::argsns_::term<const char
> &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &,const
> boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns
> _::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const boost::proto::exprns_::expr<boost::p
> roto::tag::shift_right,boost::proto::argsns_::list2<boost::proto::exprns_:
> :expr<boost::proto::tag::terminal,boost::proto::argsns_::term<const char
> &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost
> ::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::p
> roto::argsns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2>
> &,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &,const
> boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns
> _::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boos
> t::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::ar
> gsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,2> &>,1> &>,2> &>,1> &>,2> &>,2>
> &>,1> &>,2> &>,2> &>,1> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,1> &>,2> &>,
> 1>              Arity=1,
> 1>              _Ty=file_line,
> 1>              Iterator=const char *,
> 1>
> Expr=boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::pro
> to::argsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boo
> st::proto::argsns_::term<boost::spirit::tag::eol>,0> &>,1> &,const
> boost::proto::exprns_::expr<boost::proto::tag::unary_plus,boost::proto::ar
> gsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::arg
> sns_::term<const char &>,0>>,2> &>,1> &>,2>
> &,boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::ar
> gsns_::term<const char &>,0>>,2> &,const
> boost::spirit::terminal<boost::spirit::tag::ushort_> &>,2> &,
> const
> boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns
> _::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boos
> t::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boos
> t::proto::argsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::te
> rminal,boost::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &,const
> boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns
> _::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boos
> t::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boost
> ::proto::argsns_::term<const char &>,0>,const boost
> ::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::argsns_::
> term<boost::spirit::tag::eol>,0> &>,2> &>,2> &>,1> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag::bitwise_or,boost::proto::ar
> gsns_::list2<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &,const
> boost::proto::exprns_::expr<boost::proto::tag::negate,boost::proto::argsns
> _::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::shift_right,boost::proto::a
> rgsns_::list2<boost::proto::exprns_::expr<boost::proto::tag::terminal,boos
> t::proto::argsns_::term<const char &>,0>,const
> boost::proto::exprns_::expr<boost::proto::
> tag::unary_plus,boost::proto::argsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::minus,boost::proto::argsns_
> ::list2<const boost::spirit::terminal<boost::spirit::tag::standard::char_>
> ,const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,2> &>,1> &>,2> &>,1> &>,2> &>,2>
> &>,1> &>,2> &>,2> &>,1> &>,2> &,const
> boost::proto::exprns_::expr<boost::proto::tag::dereference,boost::proto::a
> rgsns_::list1<const
> boost::proto::exprns_::expr<boost::proto::tag::terminal,boost::proto::args
> ns_::term<boost::spirit::tag::eol>,0> &>,1> &>,2> &>,1>,
> 1>              Attr=std::vector<file_line>
> 1>          ]
> 1>C:\devel\dependencies\boost\boost-
> 1_44\include\boost/spirit/home/support/container.hpp(102): fatal error
> C1903: unable to recover from previous error(s); stopping compilation
> 1>
> 1>Build FAILED.
>
> 1>
>



------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Reply | Threaded
Open this post in threaded view
|  
Report Content as Inappropriate

Re: Problem compiling Qi parser with BOOST_FUSION_ADAPT_STRUCT

Brett Gmoser-2
In reply to this post by Robert Nelson
On 2/14/2011 8:00 AM, Robert Nelson wrote:
Your parser attribute type is pretty mean because of all the nested
optionals.  I recommend using semantic actions in this case.  I broke
your grammar up into 2 rules, and added semantic actions which lets it
compile.  I might have changed the grammar a bit, but hopefully this
is enough to get you started.

Oh, and instead of using:
*(char_ - (':' | eol))
use
*(char_ - ':' - eol)
it makes reading a little bit easier I think.

Robert and Hartmut,

Thank you so much, I really appreciate your time on this. Not to minimize the helpfulness of Robert's reply, but especially Hartmut - I didn't expect anything remotely near the concise reply that I received.

I pretty much combined both solutions given, and got something that at least compiles, I'm testing it now.  One thing that wound up going wrong - the constant problems I have with boost.bind's _1 being in global namespace and thus interfering with spirit's _1 came into play.  I was discussing this issue with Hartmut on IRC, though I didn't actually know this was the problem at the time. I solved this by using 'using boost::spirit::_1;' in my code. I normally use phoenix::arg_names::_1, and trying that, it didn't work either. Of course the compiler messages are pretty cryptic.

For anybody that might happen upon this, Hartmut wrote an excellent article on Spirit attribute propogation which helped me understand this a lot:

http://boost-spirit.com/home/articles/attribute_handling/attribute-propagation-and-attribute-compatibility/

If nothing else, it shows what an unbelievably clever and truly great library Spirit is, and the work that Hartmut et al have put into this is really appreciated.

Also, I'll definitely remove the full error messages and interprocess stuff (if applicable) from my next post, sorry! I was just trying to provide something that would work out of the box.

One last thing, regarding something that Hartmut said:

Moreover, I believe you do not understand your grammar yourself anymore, why do you expect Spirit to get it right in this case?
I meant to make it clear that I was quite sure that I was the one getting it wrong, not Spirit. It would be lovely if the error messages outputted by the compiler were better, but alas I know that is completely outside of Spirit's control. As decent as I am with more simple grammars, I don't think I could ever learn enough about Spirit, as complex as it is (and yet, as I said, as (sometimes deceivingly) simple to use as it is. Again, bravo on what is certainly the most interesting, clever and yet easy to use library I've ever encountered.

Cheers!

Brett


------------------------------------------------------------------------------
The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE:
Pinpoint memory and threading errors before they happen.
Find and fix more than 250 security defects in the development cycle.
Locate bottlenecks in serial and parallel code that limit performance.
http://p.sf.net/sfu/intel-dev2devfeb
_______________________________________________
Spirit-general mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/spirit-general
Loading...