diff options
Diffstat (limited to 'ext/json/json_scanner.c')
-rw-r--r-- | ext/json/json_scanner.c | 1095 |
1 files changed, 548 insertions, 547 deletions
diff --git a/ext/json/json_scanner.c b/ext/json/json_scanner.c index ee46a13198..cc9c0c6bb8 100644 --- a/ext/json/json_scanner.c +++ b/ext/json/json_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.14.3 */ +/* Generated by re2c 0.13.5 */ /* +----------------------------------------------------------------------+ | PHP Version 7 | @@ -147,46 +147,47 @@ yyc_JS: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + yych = *YYCURSOR; if (yych <= ']') { if (yych <= '"') { if (yych <= '\f') { if (yych <= 0x08) { - if (yych >= 0x01) goto yy5; + if (yych >= 0x01) goto yy4; } else { - if (yych <= '\t') goto yy7; - if (yych <= '\n') goto yy9; - goto yy5; + if (yych <= '\t') goto yy6; + if (yych <= '\n') goto yy8; + goto yy4; } } else { if (yych <= 0x1F) { - if (yych <= '\r') goto yy10; - goto yy5; + if (yych <= '\r') goto yy9; + goto yy4; } else { - if (yych <= ' ') goto yy11; - if (yych <= '!') goto yy12; - goto yy14; + if (yych <= ' ') goto yy10; + if (yych <= '!') goto yy11; + goto yy13; } } } else { if (yych <= '0') { if (yych <= ',') { - if (yych <= '+') goto yy12; - goto yy16; + if (yych <= '+') goto yy11; + goto yy15; } else { - if (yych <= '-') goto yy18; - if (yych <= '/') goto yy12; - goto yy19; + if (yych <= '-') goto yy17; + if (yych <= '/') goto yy11; + goto yy18; } } else { if (yych <= 'Z') { - if (yych <= '9') goto yy21; - if (yych <= ':') goto yy22; - goto yy12; + if (yych <= '9') goto yy20; + if (yych <= ':') goto yy21; + goto yy11; } else { - if (yych <= '[') goto yy24; - if (yych <= '\\') goto yy12; - goto yy26; + if (yych <= '[') goto yy23; + if (yych <= '\\') goto yy11; + goto yy25; } } } @@ -194,41 +195,41 @@ yyc_JS: if (yych <= '}') { if (yych <= 's') { if (yych <= 'f') { - if (yych <= 'e') goto yy12; - goto yy28; + if (yych <= 'e') goto yy11; + goto yy27; } else { - if (yych == 'n') goto yy29; - goto yy12; + if (yych == 'n') goto yy28; + goto yy11; } } else { if (yych <= 'z') { - if (yych <= 't') goto yy30; - goto yy12; + if (yych <= 't') goto yy29; + goto yy11; } else { - if (yych <= '{') goto yy31; - if (yych <= '|') goto yy12; - goto yy33; + if (yych <= '{') goto yy30; + if (yych <= '|') goto yy11; + goto yy32; } } } else { if (yych <= 0xEC) { if (yych <= 0xC1) { - if (yych <= 0x7F) goto yy12; - goto yy35; + if (yych <= 0x7F) goto yy11; + goto yy34; } else { - if (yych <= 0xDF) goto yy37; - if (yych <= 0xE0) goto yy38; - goto yy39; + if (yych <= 0xDF) goto yy36; + if (yych <= 0xE0) goto yy37; + goto yy38; } } else { if (yych <= 0xF0) { - if (yych <= 0xED) goto yy40; - if (yych <= 0xEF) goto yy41; - goto yy42; + if (yych <= 0xED) goto yy39; + if (yych <= 0xEF) goto yy40; + goto yy41; } else { - if (yych <= 0xF3) goto yy43; - if (yych <= 0xF4) goto yy44; - goto yy35; + if (yych <= 0xF3) goto yy42; + if (yych <= 0xF4) goto yy43; + goto yy34; } } } @@ -242,36 +243,36 @@ yyc_JS: return PHP_JSON_T_ERROR; } } -yy5: +yy4: ++YYCURSOR; { s->errcode = PHP_JSON_ERROR_CTRL_CHAR; return PHP_JSON_T_ERROR; } -yy7: +yy6: ++YYCURSOR; yych = *YYCURSOR; - goto yy82; -yy8: + goto yy81; +yy7: { goto std; } +yy8: + yych = *++YYCURSOR; + goto yy7; yy9: yych = *++YYCURSOR; - goto yy8; + if (yych == '\n') goto yy82; + goto yy81; yy10: yych = *++YYCURSOR; - if (yych == '\n') goto yy83; - goto yy82; + goto yy81; yy11: - yych = *++YYCURSOR; - goto yy82; -yy12: ++YYCURSOR; -yy13: +yy12: { s->errcode = PHP_JSON_ERROR_SYNTAX; return PHP_JSON_T_ERROR; } -yy14: +yy13: ++YYCURSOR; { s->str_start = s->cursor; @@ -279,25 +280,25 @@ yy14: PHP_JSON_CONDITION_SET(STR_P1); PHP_JSON_CONDITION_GOTO(STR_P1); } -yy16: +yy15: ++YYCURSOR; { return ','; } -yy18: +yy17: yych = *++YYCURSOR; - if (yych <= '/') goto yy13; - if (yych <= '0') goto yy80; - if (yych <= '9') goto yy70; - goto yy13; -yy19: + if (yych <= '/') goto yy12; + if (yych <= '0') goto yy79; + if (yych <= '9') goto yy69; + goto yy12; +yy18: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '.') goto yy72; + if (yych == '.') goto yy71; } else { - if (yych <= 'E') goto yy73; - if (yych == 'e') goto yy73; + if (yych <= 'E') goto yy72; + if (yych == 'e') goto yy72; } -yy20: +yy19: { zend_bool bigint = 0, negative = s->token[0] == '-'; size_t digits = (size_t) (s->cursor - s->token - negative); @@ -322,305 +323,305 @@ yy20: return PHP_JSON_T_DOUBLE; } } -yy21: +yy20: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy71; -yy22: + goto yy70; +yy21: ++YYCURSOR; { return ':'; } -yy24: +yy23: ++YYCURSOR; { return '['; } -yy26: +yy25: ++YYCURSOR; { return ']'; } +yy27: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy64; + goto yy12; yy28: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy65; - goto yy13; + if (yych == 'u') goto yy60; + goto yy12; yy29: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy61; - goto yy13; + if (yych == 'r') goto yy56; + goto yy12; yy30: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy57; - goto yy13; -yy31: ++YYCURSOR; { return '{'; } -yy33: +yy32: ++YYCURSOR; { return '}'; } -yy35: +yy34: ++YYCURSOR; -yy36: +yy35: { s->errcode = PHP_JSON_ERROR_UTF8; return PHP_JSON_T_ERROR; } -yy37: +yy36: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy36; - if (yych <= 0xBF) goto yy48; - goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych <= 0xBF) goto yy47; + goto yy35; +yy37: + yyaccept = 2; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x9F) goto yy35; + if (yych <= 0xBF) goto yy55; + goto yy35; yy38: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x9F) goto yy36; - if (yych <= 0xBF) goto yy56; - goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych <= 0xBF) goto yy54; + goto yy35; yy39: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy36; - if (yych <= 0xBF) goto yy55; - goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych <= 0x9F) goto yy53; + goto yy35; yy40: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy36; - if (yych <= 0x9F) goto yy54; - goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych <= 0xBF) goto yy52; + goto yy35; yy41: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy36; - if (yych <= 0xBF) goto yy53; - goto yy36; + if (yych <= 0x8F) goto yy35; + if (yych <= 0xBF) goto yy50; + goto yy35; yy42: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x8F) goto yy36; - if (yych <= 0xBF) goto yy51; - goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych <= 0xBF) goto yy48; + goto yy35; yy43: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy36; - if (yych <= 0xBF) goto yy49; - goto yy36; -yy44: - yyaccept = 2; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy36; - if (yych >= 0x90) goto yy36; + if (yych <= 0x7F) goto yy35; + if (yych >= 0x90) goto yy35; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy47; -yy46: + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy46; +yy45: YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy20; + if (yyaccept <= 0) { + goto yy19; } else { - goto yy13; + goto yy12; } } else { - if (yyaccept == 2) { - goto yy36; + if (yyaccept <= 2) { + goto yy35; } else { - goto yy77; + goto yy76; } } +yy46: + yych = *++YYCURSOR; + if (yych <= 0x7F) goto yy45; + if (yych >= 0xC0) goto yy45; yy47: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych >= 0xC0) goto yy46; + goto yy12; yy48: yych = *++YYCURSOR; - goto yy13; -yy49: + if (yych <= 0x7F) goto yy45; + if (yych >= 0xC0) goto yy45; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych >= 0xC0) goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; +yy50: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; -yy51: + if (yych <= 0x7F) goto yy45; + if (yych >= 0xC0) goto yy45; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych >= 0xC0) goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; +yy52: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; yy53: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; yy54: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; yy55: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; + if (yych <= 0x7F) goto yy45; + if (yych <= 0xBF) goto yy47; + goto yy45; yy56: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy46; - if (yych <= 0xBF) goto yy48; - goto yy46; -yy57: + if (yych != 'u') goto yy45; yych = *++YYCURSOR; - if (yych != 'u') goto yy46; - yych = *++YYCURSOR; - if (yych != 'e') goto yy46; + if (yych != 'e') goto yy45; ++YYCURSOR; { ZVAL_TRUE(&s->value); return PHP_JSON_T_TRUE; } -yy61: +yy60: yych = *++YYCURSOR; - if (yych != 'l') goto yy46; + if (yych != 'l') goto yy45; yych = *++YYCURSOR; - if (yych != 'l') goto yy46; + if (yych != 'l') goto yy45; ++YYCURSOR; { ZVAL_NULL(&s->value); return PHP_JSON_T_NUL; } -yy65: +yy64: yych = *++YYCURSOR; - if (yych != 'l') goto yy46; + if (yych != 'l') goto yy45; yych = *++YYCURSOR; - if (yych != 's') goto yy46; + if (yych != 's') goto yy45; yych = *++YYCURSOR; - if (yych != 'e') goto yy46; + if (yych != 'e') goto yy45; ++YYCURSOR; { ZVAL_FALSE(&s->value); return PHP_JSON_T_FALSE; } -yy70: +yy69: yyaccept = 0; YYMARKER = ++YYCURSOR; yych = *YYCURSOR; -yy71: +yy70: if (yybm[0+yych] & 64) { - goto yy70; + goto yy69; } if (yych <= 'D') { - if (yych != '.') goto yy20; + if (yych != '.') goto yy19; } else { - if (yych <= 'E') goto yy73; - if (yych == 'e') goto yy73; - goto yy20; + if (yych <= 'E') goto yy72; + if (yych == 'e') goto yy72; + goto yy19; } -yy72: +yy71: yych = *++YYCURSOR; - if (yych <= '/') goto yy46; - if (yych <= '9') goto yy78; - goto yy46; -yy73: + if (yych <= '/') goto yy45; + if (yych <= '9') goto yy77; + goto yy45; +yy72: yych = *++YYCURSOR; if (yych <= ',') { - if (yych != '+') goto yy46; + if (yych != '+') goto yy45; } else { - if (yych <= '-') goto yy74; - if (yych <= '/') goto yy46; - if (yych <= '9') goto yy75; - goto yy46; + if (yych <= '-') goto yy73; + if (yych <= '/') goto yy45; + if (yych <= '9') goto yy74; + goto yy45; } -yy74: +yy73: yych = *++YYCURSOR; - if (yych <= '/') goto yy46; - if (yych >= ':') goto yy46; -yy75: + if (yych <= '/') goto yy45; + if (yych >= ':') goto yy45; +yy74: ++YYCURSOR; yych = *YYCURSOR; - if (yych <= '/') goto yy77; - if (yych <= '9') goto yy75; -yy77: + if (yych <= '/') goto yy76; + if (yych <= '9') goto yy74; +yy76: { ZVAL_DOUBLE(&s->value, zend_strtod((char *) s->token, NULL)); return PHP_JSON_T_DOUBLE; } -yy78: +yy77: yyaccept = 3; YYMARKER = ++YYCURSOR; yych = *YYCURSOR; if (yych <= 'D') { - if (yych <= '/') goto yy77; - if (yych <= '9') goto yy78; - goto yy77; + if (yych <= '/') goto yy76; + if (yych <= '9') goto yy77; + goto yy76; } else { - if (yych <= 'E') goto yy73; - if (yych == 'e') goto yy73; - goto yy77; + if (yych <= 'E') goto yy72; + if (yych == 'e') goto yy72; + goto yy76; } -yy80: +yy79: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '.') goto yy72; - goto yy20; + if (yych == '.') goto yy71; + goto yy19; } else { - if (yych <= 'E') goto yy73; - if (yych == 'e') goto yy73; - goto yy20; + if (yych <= 'E') goto yy72; + if (yych == 'e') goto yy72; + goto yy19; } -yy81: +yy80: ++YYCURSOR; yych = *YYCURSOR; -yy82: +yy81: if (yybm[0+yych] & 128) { - goto yy81; + goto yy80; } - goto yy8; -yy83: + goto yy7; +yy82: ++YYCURSOR; yych = *YYCURSOR; - goto yy8; + goto yy7; } /* *********************************** */ yyc_STR_P1: yych = *YYCURSOR; if (yych <= 0xDF) { if (yych <= '[') { - if (yych <= 0x1F) goto yy86; - if (yych == '"') goto yy90; - goto yy88; + if (yych <= 0x1F) goto yy85; + if (yych == '"') goto yy89; + goto yy87; } else { - if (yych <= '\\') goto yy92; - if (yych <= 0x7F) goto yy88; - if (yych <= 0xC1) goto yy94; - goto yy96; + if (yych <= '\\') goto yy91; + if (yych <= 0x7F) goto yy87; + if (yych <= 0xC1) goto yy93; + goto yy95; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy97; - if (yych <= 0xEC) goto yy98; - if (yych <= 0xED) goto yy99; - goto yy100; + if (yych <= 0xE0) goto yy96; + if (yych <= 0xEC) goto yy97; + if (yych <= 0xED) goto yy98; + goto yy99; } else { - if (yych <= 0xF0) goto yy101; - if (yych <= 0xF3) goto yy102; - if (yych <= 0xF4) goto yy103; - goto yy94; + if (yych <= 0xF0) goto yy100; + if (yych <= 0xF3) goto yy101; + if (yych <= 0xF4) goto yy102; + goto yy93; } } -yy86: +yy85: ++YYCURSOR; { s->errcode = PHP_JSON_ERROR_CTRL_CHAR; return PHP_JSON_T_ERROR; } -yy88: +yy87: ++YYCURSOR; -yy89: +yy88: { PHP_JSON_CONDITION_GOTO(STR_P1); } -yy90: +yy89: ++YYCURSOR; { zend_string *str; @@ -644,392 +645,392 @@ yy90: return PHP_JSON_T_STRING; } } -yy92: +yy91: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'e') { if (yych <= '/') { - if (yych == '"') goto yy116; - if (yych >= '/') goto yy116; + if (yych == '"') goto yy115; + if (yych >= '/') goto yy115; } else { if (yych <= '\\') { - if (yych >= '\\') goto yy116; + if (yych >= '\\') goto yy115; } else { - if (yych == 'b') goto yy116; + if (yych == 'b') goto yy115; } } } else { if (yych <= 'q') { - if (yych <= 'f') goto yy116; - if (yych == 'n') goto yy116; + if (yych <= 'f') goto yy115; + if (yych == 'n') goto yy115; } else { if (yych <= 's') { - if (yych <= 'r') goto yy116; + if (yych <= 'r') goto yy115; } else { - if (yych <= 't') goto yy116; - if (yych <= 'u') goto yy118; + if (yych <= 't') goto yy115; + if (yych <= 'u') goto yy117; } } } -yy93: +yy92: { s->errcode = PHP_JSON_ERROR_SYNTAX; return PHP_JSON_T_ERROR; } -yy94: +yy93: ++YYCURSOR; -yy95: +yy94: { s->errcode = PHP_JSON_ERROR_UTF8; return PHP_JSON_T_ERROR; } -yy96: +yy95: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy95; - if (yych <= 0xBF) goto yy107; - goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych <= 0xBF) goto yy106; + goto yy94; +yy96: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x9F) goto yy94; + if (yych <= 0xBF) goto yy114; + goto yy94; yy97: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x9F) goto yy95; - if (yych <= 0xBF) goto yy115; - goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych <= 0xBF) goto yy113; + goto yy94; yy98: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy95; - if (yych <= 0xBF) goto yy114; - goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych <= 0x9F) goto yy112; + goto yy94; yy99: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy95; - if (yych <= 0x9F) goto yy113; - goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych <= 0xBF) goto yy111; + goto yy94; yy100: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy95; - if (yych <= 0xBF) goto yy112; - goto yy95; + if (yych <= 0x8F) goto yy94; + if (yych <= 0xBF) goto yy109; + goto yy94; yy101: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x8F) goto yy95; - if (yych <= 0xBF) goto yy110; - goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych <= 0xBF) goto yy107; + goto yy94; yy102: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy95; - if (yych <= 0xBF) goto yy108; - goto yy95; -yy103: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy95; - if (yych >= 0x90) goto yy95; + if (yych <= 0x7F) goto yy94; + if (yych >= 0x90) goto yy94; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy106; -yy105: + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy105; +yy104: YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy93; + if (yyaccept <= 0) { + goto yy92; } else { - goto yy95; + goto yy94; } } else { - goto yy127; + goto yy126; } +yy105: + yych = *++YYCURSOR; + if (yych <= 0x7F) goto yy104; + if (yych >= 0xC0) goto yy104; yy106: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych >= 0xC0) goto yy105; + goto yy88; yy107: yych = *++YYCURSOR; - goto yy89; -yy108: + if (yych <= 0x7F) goto yy104; + if (yych >= 0xC0) goto yy104; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych >= 0xC0) goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; +yy109: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; -yy110: + if (yych <= 0x7F) goto yy104; + if (yych >= 0xC0) goto yy104; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych >= 0xC0) goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; +yy111: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; yy112: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; yy113: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; yy114: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; + if (yych <= 0x7F) goto yy104; + if (yych <= 0xBF) goto yy106; + goto yy104; yy115: - yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy105; - if (yych <= 0xBF) goto yy107; - goto yy105; -yy116: ++YYCURSOR; { s->str_esc++; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy118: +yy117: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= '9') { - if (yych <= '/') goto yy105; - if (yych >= '1') goto yy120; + if (yych <= '/') goto yy104; + if (yych >= '1') goto yy119; } else { - if (yych <= '@') goto yy105; - if (yych <= 'C') goto yy120; - goto yy121; + if (yych <= '@') goto yy104; + if (yych <= 'C') goto yy119; + goto yy120; } } else { if (yych <= 'c') { - if (yych <= 'F') goto yy120; - if (yych <= '`') goto yy105; - goto yy120; + if (yych <= 'F') goto yy119; + if (yych <= '`') goto yy104; + goto yy119; } else { - if (yych <= 'd') goto yy121; - if (yych <= 'f') goto yy120; - goto yy105; + if (yych <= 'd') goto yy120; + if (yych <= 'f') goto yy119; + goto yy104; } } yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '/') goto yy105; - if (yych <= '0') goto yy140; - if (yych <= '7') goto yy141; - goto yy122; + if (yych <= '/') goto yy104; + if (yych <= '0') goto yy139; + if (yych <= '7') goto yy140; + goto yy121; } else { if (yych <= 'F') { - if (yych <= '@') goto yy105; - goto yy122; + if (yych <= '@') goto yy104; + goto yy121; } else { - if (yych <= '`') goto yy105; - if (yych <= 'f') goto yy122; - goto yy105; + if (yych <= '`') goto yy104; + if (yych <= 'f') goto yy121; + goto yy104; } } -yy120: +yy119: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych <= '9') goto yy122; - goto yy105; + if (yych <= '/') goto yy104; + if (yych <= '9') goto yy121; + goto yy104; } else { - if (yych <= 'F') goto yy122; - if (yych <= '`') goto yy105; - if (yych <= 'f') goto yy122; - goto yy105; + if (yych <= 'F') goto yy121; + if (yych <= '`') goto yy104; + if (yych <= 'f') goto yy121; + goto yy104; } -yy121: +yy120: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= '7') { - if (yych <= '/') goto yy105; + if (yych <= '/') goto yy104; } else { - if (yych <= '9') goto yy123; - if (yych <= '@') goto yy105; - goto yy123; + if (yych <= '9') goto yy122; + if (yych <= '@') goto yy104; + goto yy122; } } else { if (yych <= '`') { - if (yych <= 'F') goto yy124; - goto yy105; + if (yych <= 'F') goto yy123; + goto yy104; } else { - if (yych <= 'b') goto yy123; - if (yych <= 'f') goto yy124; - goto yy105; + if (yych <= 'b') goto yy122; + if (yych <= 'f') goto yy123; + goto yy104; } } +yy121: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy104; + if (yych <= '9') goto yy136; + goto yy104; + } else { + if (yych <= 'F') goto yy136; + if (yych <= '`') goto yy104; + if (yych <= 'f') goto yy136; + goto yy104; + } yy122: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych <= '9') goto yy137; - goto yy105; + if (yych <= '/') goto yy104; + if (yych <= '9') goto yy127; + goto yy104; } else { - if (yych <= 'F') goto yy137; - if (yych <= '`') goto yy105; - if (yych <= 'f') goto yy137; - goto yy105; + if (yych <= 'F') goto yy127; + if (yych <= '`') goto yy104; + if (yych <= 'f') goto yy127; + goto yy104; } yy123: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych <= '9') goto yy128; - goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy128; - if (yych <= '`') goto yy105; - if (yych <= 'f') goto yy128; - goto yy105; + if (yych <= 'F') goto yy124; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } yy124: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { if (yych <= 'F') goto yy125; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } yy125: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; - } else { - if (yych <= 'F') goto yy126; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; - } -yy126: ++YYCURSOR; -yy127: +yy126: { s->errcode = PHP_JSON_ERROR_UTF16; return PHP_JSON_T_ERROR; } -yy128: +yy127: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy129; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy128; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy129: +yy128: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '\\') goto yy127; + if (yych != '\\') goto yy126; yych = *++YYCURSOR; - if (yych != 'u') goto yy105; + if (yych != 'u') goto yy104; yych = *++YYCURSOR; - if (yych == 'D') goto yy132; - if (yych != 'd') goto yy105; -yy132: + if (yych == 'D') goto yy131; + if (yych != 'd') goto yy104; +yy131: yych = *++YYCURSOR; - if (yych <= 'B') goto yy105; - if (yych <= 'F') goto yy133; - if (yych <= 'b') goto yy105; - if (yych >= 'g') goto yy105; -yy133: + if (yych <= 'B') goto yy104; + if (yych <= 'F') goto yy132; + if (yych <= 'b') goto yy104; + if (yych >= 'g') goto yy104; +yy132: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy134; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy133; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy134: +yy133: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy135; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy134; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy135: +yy134: ++YYCURSOR; { s->str_esc += 8; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy137: +yy136: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy138; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy137; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy138: +yy137: ++YYCURSOR; { s->str_esc += 3; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy140: +yy139: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych <= '7') goto yy145; - if (yych <= '9') goto yy142; - goto yy105; + if (yych <= '/') goto yy104; + if (yych <= '7') goto yy144; + if (yych <= '9') goto yy141; + goto yy104; } else { - if (yych <= 'F') goto yy142; - if (yych <= '`') goto yy105; - if (yych <= 'f') goto yy142; - goto yy105; + if (yych <= 'F') goto yy141; + if (yych <= '`') goto yy104; + if (yych <= 'f') goto yy141; + goto yy104; } -yy141: +yy140: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy142; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy141; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy142: +yy141: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy143; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy142; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy143: +yy142: ++YYCURSOR; { s->str_esc += 4; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy145: +yy144: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy105; - if (yych >= ':') goto yy105; + if (yych <= '/') goto yy104; + if (yych >= ':') goto yy104; } else { - if (yych <= 'F') goto yy146; - if (yych <= '`') goto yy105; - if (yych >= 'g') goto yy105; + if (yych <= 'F') goto yy145; + if (yych <= '`') goto yy104; + if (yych >= 'g') goto yy104; } -yy146: +yy145: ++YYCURSOR; { s->str_esc += 5; @@ -1038,22 +1039,22 @@ yy146: /* *********************************** */ yyc_STR_P2: yych = *YYCURSOR; - if (yych == '"') goto yy152; - if (yych == '\\') goto yy154; + if (yych == '"') goto yy151; + if (yych == '\\') goto yy153; ++YYCURSOR; { PHP_JSON_CONDITION_GOTO(STR_P2); } -yy152: +yy151: ++YYCURSOR; YYSETCONDITION(yycJS); { PHP_JSON_SCANNER_COPY_ESC(); return PHP_JSON_T_STRING; } -yy154: +yy153: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy156; -yy155: + if (yych == 'u') goto yy155; +yy154: { char esc; PHP_JSON_SCANNER_COPY_ESC(); @@ -1087,103 +1088,103 @@ yy155: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy156: +yy155: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= '9') { - if (yych <= '/') goto yy157; - if (yych <= '0') goto yy158; - goto yy159; + if (yych <= '/') goto yy156; + if (yych <= '0') goto yy157; + goto yy158; } else { - if (yych <= '@') goto yy157; - if (yych <= 'C') goto yy159; - goto yy160; + if (yych <= '@') goto yy156; + if (yych <= 'C') goto yy158; + goto yy159; } } else { if (yych <= 'c') { - if (yych <= 'F') goto yy159; - if (yych >= 'a') goto yy159; + if (yych <= 'F') goto yy158; + if (yych >= 'a') goto yy158; } else { - if (yych <= 'd') goto yy160; - if (yych <= 'f') goto yy159; + if (yych <= 'd') goto yy159; + if (yych <= 'f') goto yy158; } } -yy157: +yy156: YYCURSOR = YYMARKER; - goto yy155; -yy158: + goto yy154; +yy157: yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '/') goto yy157; - if (yych <= '0') goto yy175; - if (yych <= '7') goto yy176; - goto yy162; + if (yych <= '/') goto yy156; + if (yych <= '0') goto yy174; + if (yych <= '7') goto yy175; + goto yy161; } else { if (yych <= 'F') { - if (yych <= '@') goto yy157; - goto yy162; + if (yych <= '@') goto yy156; + goto yy161; } else { - if (yych <= '`') goto yy157; - if (yych <= 'f') goto yy162; - goto yy157; + if (yych <= '`') goto yy156; + if (yych <= 'f') goto yy161; + goto yy156; } } +yy158: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy156; + if (yych <= '9') goto yy161; + goto yy156; + } else { + if (yych <= 'F') goto yy161; + if (yych <= '`') goto yy156; + if (yych <= 'f') goto yy161; + goto yy156; + } yy159: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych <= '9') goto yy162; - goto yy157; + if (yych <= '/') goto yy156; + if (yych <= '7') goto yy161; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy162; - if (yych <= '`') goto yy157; - if (yych <= 'f') goto yy162; - goto yy157; + if (yych <= 'B') goto yy160; + if (yych <= '`') goto yy156; + if (yych >= 'c') goto yy156; } yy160: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych <= '7') goto yy162; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych <= '9') goto yy165; + goto yy156; } else { - if (yych <= 'B') goto yy161; - if (yych <= '`') goto yy157; - if (yych >= 'c') goto yy157; + if (yych <= 'F') goto yy165; + if (yych <= '`') goto yy156; + if (yych <= 'f') goto yy165; + goto yy156; } yy161: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych <= '9') goto yy166; - goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy166; - if (yych <= '`') goto yy157; - if (yych <= 'f') goto yy166; - goto yy157; + if (yych <= 'F') goto yy162; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } yy162: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { if (yych <= 'F') goto yy163; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } yy163: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; - } else { - if (yych <= 'F') goto yy164; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; - } -yy164: ++YYCURSOR; { int utf16 = php_json_ucs2_to_int(s, 4); @@ -1194,51 +1195,51 @@ yy164: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy166: +yy165: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy167; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy166; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy167: +yy166: yych = *++YYCURSOR; - if (yych != '\\') goto yy157; + if (yych != '\\') goto yy156; yych = *++YYCURSOR; - if (yych != 'u') goto yy157; + if (yych != 'u') goto yy156; yych = *++YYCURSOR; - if (yych == 'D') goto yy170; - if (yych != 'd') goto yy157; -yy170: + if (yych == 'D') goto yy169; + if (yych != 'd') goto yy156; +yy169: yych = *++YYCURSOR; - if (yych <= 'B') goto yy157; - if (yych <= 'F') goto yy171; - if (yych <= 'b') goto yy157; - if (yych >= 'g') goto yy157; -yy171: + if (yych <= 'B') goto yy156; + if (yych <= 'F') goto yy170; + if (yych <= 'b') goto yy156; + if (yych >= 'g') goto yy156; +yy170: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy172; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy171; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy172: +yy171: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy173; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy172; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy173: +yy172: ++YYCURSOR; { int utf32, utf16_hi, utf16_lo; @@ -1253,40 +1254,40 @@ yy173: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy175: +yy174: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych <= '7') goto yy180; - if (yych <= '9') goto yy177; - goto yy157; + if (yych <= '/') goto yy156; + if (yych <= '7') goto yy179; + if (yych <= '9') goto yy176; + goto yy156; } else { - if (yych <= 'F') goto yy177; - if (yych <= '`') goto yy157; - if (yych <= 'f') goto yy177; - goto yy157; + if (yych <= 'F') goto yy176; + if (yych <= '`') goto yy156; + if (yych <= 'f') goto yy176; + goto yy156; } -yy176: +yy175: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy177; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy176; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy177: +yy176: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy178; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy177; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy178: +yy177: ++YYCURSOR; { int utf16 = php_json_ucs2_to_int(s, 3); @@ -1296,17 +1297,17 @@ yy178: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy180: +yy179: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy157; - if (yych >= ':') goto yy157; + if (yych <= '/') goto yy156; + if (yych >= ':') goto yy156; } else { - if (yych <= 'F') goto yy181; - if (yych <= '`') goto yy157; - if (yych >= 'g') goto yy157; + if (yych <= 'F') goto yy180; + if (yych <= '`') goto yy156; + if (yych >= 'g') goto yy156; } -yy181: +yy180: ++YYCURSOR; { int utf16 = php_json_ucs2_to_int(s, 2); |