diff --git a/include/mapnik/expression_grammar_x3_def.hpp b/include/mapnik/expression_grammar_x3_def.hpp index 23735e5de..2b5f24236 100644 --- a/include/mapnik/expression_grammar_x3_def.hpp +++ b/include/mapnik/expression_grammar_x3_def.hpp @@ -24,6 +24,7 @@ #define MAPNIK_EXPRESSIONS_GRAMMAR_X3_DEF_HPP #include +#include #include #include #include @@ -65,6 +66,9 @@ namespace mapnik { namespace grammar { using x3::alnum; x3::uint_parser const hex2 {}; + namespace { + auto const& double_quoted = json::unicode_string_grammar(); + } auto do_assign = [] (auto const& ctx) { _val(ctx) = std::move(_attr(ctx)); @@ -303,8 +307,8 @@ namespace mapnik { namespace grammar { // strings auto const single_quoted_string = x3::rule {} = lit('\'') >> no_skip[*(unesc_char | ("\\x" > hex2) | (char_ - '\''))] > '\''; - auto const double_quoted_string = x3::rule {} = lit('"') >> no_skip[*(unesc_char | ("\\x" > hex2) | (char_ - '"'))] > '"'; - auto const quoted_string = x3::rule {} = single_quoted_string | double_quoted_string; + //auto const double_quoted_string = x3::rule {} = lit('"') >> no_skip[*(unesc_char | ("\\x" > hex2) | (char_ - '"'))] > '"'; + auto const quoted_string = x3::rule {} = single_quoted_string | double_quoted;//_string; auto const unquoted_ustring = x3::rule {} = no_skip[alpha > *alnum] - lit("not");