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,,