mirror of
https://github.com/ToruNiina/toml11.git
synced 2025-09-17 17:58:09 +08:00
fix: add "unreleased" flag to raw-tab-in-string
This commit is contained in:
@@ -125,10 +125,17 @@ using lex_local_time = lex_partial_time;
|
|||||||
// ===========================================================================
|
// ===========================================================================
|
||||||
|
|
||||||
using lex_quotation_mark = character<'"'>;
|
using lex_quotation_mark = character<'"'>;
|
||||||
|
#ifdef TOML11_USE_UNRELEASED_TOML_FEATURES
|
||||||
using lex_basic_unescaped = exclude<either<in_range<0x00, 0x08>, // 0x09 (tab)
|
using lex_basic_unescaped = exclude<either<in_range<0x00, 0x08>, // 0x09 (tab)
|
||||||
in_range<0x0a, 0x1F>, // is allowed
|
in_range<0x0a, 0x1F>, // is allowed
|
||||||
character<0x22>, character<0x5C>,
|
character<0x22>, character<0x5C>,
|
||||||
character<0x7F>>>;
|
character<0x7F>>>;
|
||||||
|
#else
|
||||||
|
using lex_basic_unescaped = exclude<either<in_range<0x00, 0x1F>,
|
||||||
|
character<0x22>, character<0x5C>,
|
||||||
|
character<0x7F>>>;
|
||||||
|
|
||||||
|
#endif
|
||||||
using lex_escape = character<'\\'>;
|
using lex_escape = character<'\\'>;
|
||||||
using lex_escape_unicode_short = sequence<character<'u'>,
|
using lex_escape_unicode_short = sequence<character<'u'>,
|
||||||
repeat<lex_hex_dig, exactly<4>>>;
|
repeat<lex_hex_dig, exactly<4>>>;
|
||||||
@@ -148,11 +155,18 @@ using lex_basic_string = sequence<lex_quotation_mark,
|
|||||||
lex_quotation_mark>;
|
lex_quotation_mark>;
|
||||||
|
|
||||||
using lex_ml_basic_string_delim = repeat<lex_quotation_mark, exactly<3>>;
|
using lex_ml_basic_string_delim = repeat<lex_quotation_mark, exactly<3>>;
|
||||||
|
#ifdef TOML11_USE_UNRELEASED_TOML_FEATURES
|
||||||
using lex_ml_basic_unescaped = exclude<either<in_range<0x00, 0x08>, // 0x09
|
using lex_ml_basic_unescaped = exclude<either<in_range<0x00, 0x08>, // 0x09
|
||||||
in_range<0x0a, 0x1F>, // is tab
|
in_range<0x0a, 0x1F>, // is tab
|
||||||
character<0x5C>,
|
character<0x5C>,
|
||||||
character<0x7F>,
|
character<0x7F>,
|
||||||
lex_ml_basic_string_delim>>;
|
lex_ml_basic_string_delim>>;
|
||||||
|
#else // TOML v0.5.0
|
||||||
|
using lex_ml_basic_unescaped = exclude<either<in_range<0x00,0x1F>,
|
||||||
|
character<0x5C>,
|
||||||
|
character<0x7F>,
|
||||||
|
lex_ml_basic_string_delim>>;
|
||||||
|
#endif
|
||||||
|
|
||||||
using lex_ml_basic_escaped_newline = sequence<
|
using lex_ml_basic_escaped_newline = sequence<
|
||||||
lex_escape, maybe<lex_ws>, lex_newline,
|
lex_escape, maybe<lex_ws>, lex_newline,
|
||||||
|
Reference in New Issue
Block a user