id summary reporter owner description type status milestone component version severity resolution keywords cc 2017 leaf_node_d matches leading skip tokens j.swoboda@… Hartmut Kaiser "Since spirit 1.86 (boost 1.35.0) the match of leaf_node_d contains any skip tokens directly before the actual match, if there was another token before. Example: Add a skip parser to libs/spirit/example/fundamental/ast_calc.cpp line 131: tree_parse_info<> info = ast_parse(str.c_str(), calc, ch_p('a')); Build and feed the program with ""1+a2"" (called input a) or ""a1+a2"" (called input b). Output: (a) The parse tree has a root node ""+"" with two child nodes ""1"" and ""a2"", the calculation yields ""1"" (due to being unable to convert ""a2"" to a number). (b) Results in the same parse tree as (a), that is, the leading skip token is in fact ignored, but not any subsequent ones. Expected output: The second child node should only contain ""2"". This can be achieved by replacing leaf_node_d with reduced_node_d in tree_calc_grammar.hpp. Relevance: This renders leaf_node_d useless in conjunction with skip parsers and breaks the runtime behaviour of existing grammars. Feel free to upgrade it to Showstopper." Bugs closed Boost 1.36.0 spirit Boost 1.35.0 Showstopper wontfix