Opened 11 years ago
Last modified 11 years ago
#6402 new Bugs
boost::spirit::lazy( *X ) does not have same semantics as *X
Reported by: | Owned by: | Joel de Guzman | |
---|---|---|---|
Milestone: | To Be Determined | Component: | spirit |
Version: | Boost 1.46.1 | Severity: | Problem |
Keywords: | Cc: |
Description
I use a very dynamic parser where I need to inherit & parse attributes using the Nabialek trick. As the Nabialek trick sadly seems to require pointer to rules for efficiency lazy must be used to deffer the derefence. However, if the rule is lets say rule< Iterator, void( T& ) >, then it would seem it's impossible to pass T& to the rule as lazy() doesn't provide the same semantics as rule< Iterator, void( T& ) >.
Attachments (1)
Change History (3)
comment:1 by , 11 years ago
by , 11 years ago
Attachment: | minimallazy.cpp added |
---|
Minimal test case for short comings of passing arguments to rules evaluated with lazy()
comment:2 by , 11 years ago
Sorry. I've attached a minimal test case, here's a link to where the problem was discussed very briefly on the mailing list: http://boost.2283326.n4.nabble.com/Passing-arguments-to-rules-that-requires-spirit-lazy-td3390182.html .
Please provide a minimal test case as per: http://boost-spirit.com/home/feedback-and-support/
Also, it would be best to simply use the mailing list for support first, before adding a ticket here.