Hi Dean,
    I went through your code and some of the documentation. However, while
tracing the code flow, i was able to determine that the string "
http://www.boost.org"; was being passed using the range represented by
(start_, end_). I couldn't find where the string "http:"  was being struck
off from that range.

>
>                bool ok = phrase_parse(
>                        start_, end_,
>                        (
>                         lit("//")
>                         >> -lexeme[*(char_ - ':')]
>                         >> -lexeme[':' >> *(char_ - '@')]
>                         >> -lexeme['@']
>                         >> +(char_ - '/')
>                         >> -lexeme['/' >> *(char_ - '?')]
>                         >> -lexeme['?' >> *(char_ - '#')]
>                         >> -lexeme['#' >> *char_]
>                        ),
>                        space,
>                        result
>                        );
>

As there is nothing before the lit("//"). Probably, the first lexeme is
picking up the "http" and the userinfo is getting all the rest of the URL
://www.boost.org (as there is no @ around). Unfortunately, I don't have an
updated boost installation to test this out just yet (no Spirit 2 just yet).
Why the grammar is ignoring the lit("//") is a mystery to me.

Hope this helps somewhat (or I might be completely off track on this).

Sincerely,
Divye
------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
Cpp-netlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/cpp-netlib-devel

Reply via email to