The answer is very simple: 2 structs js_single_quoted_str
and js_double_quoted_str
must be redefined as the following to make the parser rock:
qi::rule<Iterator, std::string(), ascii::space_type> js_single_quoted_str;
qi::rule<Iterator, std::string(), ascii::space_type> js_double_quoted_str;