From 89893541305594eba373c15156eb54d7a7cb5960 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Mon, 9 Feb 2015 11:22:50 +0100 Subject: [PATCH] regenerated scanner --- ext/json/json_scanner.c | 917 ++++++++++++++++--------------- ext/json/php_json_scanner_defs.h | 2 +- 2 files changed, 460 insertions(+), 459 deletions(-) diff --git a/ext/json/json_scanner.c b/ext/json/json_scanner.c index 6cd4d12fd6..2cfd8b84be 100644 --- a/ext/json/json_scanner.c +++ b/ext/json/json_scanner.c @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6 */ +/* Generated by re2c 0.13.5 */ /* +----------------------------------------------------------------------+ | PHP Version 5 | @@ -147,55 +147,56 @@ yyc_JS: 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, }; + yych = *YYCURSOR; if (yych <= '9') { if (yych <= ' ') { if (yych <= '\n') { - if (yych <= 0x00) goto yy3; - if (yych <= 0x08) goto yy5; - if (yych <= '\t') goto yy7; - goto yy9; + if (yych <= 0x00) goto yy2; + if (yych <= 0x08) goto yy4; + if (yych <= '\t') goto yy6; + goto yy8; } else { - if (yych == '\r') goto yy10; - if (yych <= 0x1F) goto yy5; - goto yy7; + if (yych == '\r') goto yy9; + if (yych <= 0x1F) goto yy4; + goto yy6; } } else { if (yych <= ',') { - if (yych == '"') goto yy11; - if (yych <= '+') goto yy5; - goto yy13; + if (yych == '"') goto yy10; + if (yych <= '+') goto yy4; + goto yy12; } else { - if (yych <= '-') goto yy15; - if (yych <= '/') goto yy5; - if (yych <= '0') goto yy16; - goto yy18; + if (yych <= '-') goto yy14; + if (yych <= '/') goto yy4; + if (yych <= '0') goto yy15; + goto yy17; } } } else { if (yych <= 'm') { if (yych <= '\\') { - if (yych <= ':') goto yy19; - if (yych == '[') goto yy21; - goto yy5; + if (yych <= ':') goto yy18; + if (yych == '[') goto yy20; + goto yy4; } else { - if (yych <= ']') goto yy23; - if (yych == 'f') goto yy25; - goto yy5; + if (yych <= ']') goto yy22; + if (yych == 'f') goto yy24; + goto yy4; } } else { if (yych <= 'z') { - if (yych <= 'n') goto yy26; - if (yych == 't') goto yy27; - goto yy5; + if (yych <= 'n') goto yy25; + if (yych == 't') goto yy26; + goto yy4; } else { - if (yych <= '{') goto yy28; - if (yych == '}') goto yy30; - goto yy5; + if (yych <= '{') goto yy27; + if (yych == '}') goto yy29; + goto yy4; } } } -yy3: +yy2: ++YYCURSOR; { if (s->limit < s->cursor) { @@ -205,27 +206,27 @@ yy3: return PHP_JSON_T_ERROR; } } -yy5: +yy4: ++YYCURSOR; -yy6: +yy5: { s->errcode = PHP_JSON_ERROR_SYNTAX; return PHP_JSON_T_ERROR; } -yy7: +yy6: ++YYCURSOR; yych = *YYCURSOR; - goto yy58; -yy8: + goto yy57; +yy7: { goto std; } +yy8: + yych = *++YYCURSOR; + goto yy7; yy9: yych = *++YYCURSOR; - goto yy8; + if (yych == '\n') goto yy58; + goto yy57; yy10: - yych = *++YYCURSOR; - if (yych == '\n') goto yy59; - goto yy58; -yy11: ++YYCURSOR; { s->str_start = s->cursor; @@ -233,25 +234,25 @@ yy11: PHP_JSON_CONDITION_SET(STR_P1); PHP_JSON_CONDITION_GOTO(STR_P1); } -yy13: +yy12: ++YYCURSOR; { return ','; } -yy15: +yy14: yych = *++YYCURSOR; - if (yych <= '/') goto yy6; - if (yych <= '0') goto yy56; - if (yych <= '9') goto yy46; - goto yy6; -yy16: + if (yych <= '/') goto yy5; + if (yych <= '0') goto yy55; + if (yych <= '9') goto yy45; + goto yy5; +yy15: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '.') goto yy48; + if (yych == '.') goto yy47; } else { - if (yych <= 'E') goto yy49; - if (yych == 'e') goto yy49; + if (yych <= 'E') goto yy48; + if (yych == 'e') goto yy48; } -yy17: +yy16: { zend_bool bigint = 0, negative = s->token[0] == '-'; size_t digits = (size_t) (s->cursor - s->token - negative); @@ -276,203 +277,203 @@ yy17: return PHP_JSON_T_DOUBLE; } } -yy18: +yy17: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - goto yy47; -yy19: + goto yy46; +yy18: ++YYCURSOR; { return ':'; } -yy21: +yy20: ++YYCURSOR; { return '['; } -yy23: +yy22: ++YYCURSOR; { return ']'; } +yy24: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych == 'a') goto yy40; + goto yy5; yy25: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'a') goto yy41; - goto yy6; + if (yych == 'u') goto yy36; + goto yy5; yy26: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy37; - goto yy6; + if (yych == 'r') goto yy31; + goto yy5; yy27: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'r') goto yy32; - goto yy6; -yy28: ++YYCURSOR; { return '{'; } -yy30: +yy29: ++YYCURSOR; { return '}'; } -yy32: +yy31: yych = *++YYCURSOR; - if (yych == 'u') goto yy34; -yy33: + if (yych == 'u') goto yy33; +yy32: YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy17; + if (yyaccept <= 0) { + goto yy16; } else { - goto yy6; + goto yy5; } } else { - goto yy53; + goto yy52; } -yy34: +yy33: yych = *++YYCURSOR; - if (yych != 'e') goto yy33; + if (yych != 'e') goto yy32; ++YYCURSOR; { ZVAL_TRUE(&s->value); return PHP_JSON_T_TRUE; } -yy37: +yy36: yych = *++YYCURSOR; - if (yych != 'l') goto yy33; + if (yych != 'l') goto yy32; yych = *++YYCURSOR; - if (yych != 'l') goto yy33; + if (yych != 'l') goto yy32; ++YYCURSOR; { ZVAL_NULL(&s->value); return PHP_JSON_T_NUL; } -yy41: +yy40: yych = *++YYCURSOR; - if (yych != 'l') goto yy33; + if (yych != 'l') goto yy32; yych = *++YYCURSOR; - if (yych != 's') goto yy33; + if (yych != 's') goto yy32; yych = *++YYCURSOR; - if (yych != 'e') goto yy33; + if (yych != 'e') goto yy32; ++YYCURSOR; { ZVAL_FALSE(&s->value); return PHP_JSON_T_FALSE; } -yy46: +yy45: yyaccept = 0; YYMARKER = ++YYCURSOR; yych = *YYCURSOR; -yy47: +yy46: if (yybm[0+yych] & 64) { - goto yy46; + goto yy45; } if (yych <= 'D') { - if (yych != '.') goto yy17; + if (yych != '.') goto yy16; } else { - if (yych <= 'E') goto yy49; - if (yych == 'e') goto yy49; - goto yy17; + if (yych <= 'E') goto yy48; + if (yych == 'e') goto yy48; + goto yy16; } -yy48: +yy47: yych = *++YYCURSOR; - if (yych <= '/') goto yy33; - if (yych <= '9') goto yy54; - goto yy33; -yy49: + if (yych <= '/') goto yy32; + if (yych <= '9') goto yy53; + goto yy32; +yy48: yych = *++YYCURSOR; if (yych <= ',') { - if (yych != '+') goto yy33; + if (yych != '+') goto yy32; } else { - if (yych <= '-') goto yy50; - if (yych <= '/') goto yy33; - if (yych <= '9') goto yy51; - goto yy33; + if (yych <= '-') goto yy49; + if (yych <= '/') goto yy32; + if (yych <= '9') goto yy50; + goto yy32; } -yy50: +yy49: yych = *++YYCURSOR; - if (yych <= '/') goto yy33; - if (yych >= ':') goto yy33; -yy51: + if (yych <= '/') goto yy32; + if (yych >= ':') goto yy32; +yy50: ++YYCURSOR; yych = *YYCURSOR; - if (yych <= '/') goto yy53; - if (yych <= '9') goto yy51; -yy53: + if (yych <= '/') goto yy52; + if (yych <= '9') goto yy50; +yy52: { ZVAL_DOUBLE(&s->value, zend_strtod((char *) s->token, NULL)); return PHP_JSON_T_DOUBLE; } -yy54: +yy53: yyaccept = 2; YYMARKER = ++YYCURSOR; yych = *YYCURSOR; if (yych <= 'D') { - if (yych <= '/') goto yy53; - if (yych <= '9') goto yy54; - goto yy53; + if (yych <= '/') goto yy52; + if (yych <= '9') goto yy53; + goto yy52; } else { - if (yych <= 'E') goto yy49; - if (yych == 'e') goto yy49; - goto yy53; + if (yych <= 'E') goto yy48; + if (yych == 'e') goto yy48; + goto yy52; } -yy56: +yy55: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'D') { - if (yych == '.') goto yy48; - goto yy17; + if (yych == '.') goto yy47; + goto yy16; } else { - if (yych <= 'E') goto yy49; - if (yych == 'e') goto yy49; - goto yy17; + if (yych <= 'E') goto yy48; + if (yych == 'e') goto yy48; + goto yy16; } -yy57: +yy56: ++YYCURSOR; yych = *YYCURSOR; -yy58: +yy57: if (yybm[0+yych] & 128) { - goto yy57; + goto yy56; } - goto yy8; -yy59: + goto yy7; +yy58: ++YYCURSOR; yych = *YYCURSOR; - goto yy8; + goto yy7; } /* *********************************** */ yyc_STR_P1: yych = *YYCURSOR; if (yych <= 0xDF) { if (yych <= '[') { - if (yych <= 0x1F) goto yy62; - if (yych == '"') goto yy66; - goto yy64; + if (yych <= 0x1F) goto yy61; + if (yych == '"') goto yy65; + goto yy63; } else { - if (yych <= '\\') goto yy68; - if (yych <= 0x7F) goto yy64; - if (yych <= 0xC1) goto yy70; - goto yy72; + if (yych <= '\\') goto yy67; + if (yych <= 0x7F) goto yy63; + if (yych <= 0xC1) goto yy69; + goto yy71; } } else { if (yych <= 0xEF) { - if (yych <= 0xE0) goto yy73; - if (yych <= 0xEC) goto yy74; - if (yych <= 0xED) goto yy75; - goto yy76; + if (yych <= 0xE0) goto yy72; + if (yych <= 0xEC) goto yy73; + if (yych <= 0xED) goto yy74; + goto yy75; } else { - if (yych <= 0xF0) goto yy77; - if (yych <= 0xF3) goto yy78; - if (yych <= 0xF4) goto yy79; - goto yy70; + if (yych <= 0xF0) goto yy76; + if (yych <= 0xF3) goto yy77; + if (yych <= 0xF4) goto yy78; + goto yy69; } } -yy62: +yy61: ++YYCURSOR; { s->errcode = PHP_JSON_ERROR_CTRL_CHAR; return PHP_JSON_T_ERROR; } -yy64: +yy63: ++YYCURSOR; -yy65: +yy64: { PHP_JSON_CONDITION_GOTO(STR_P1); } -yy66: +yy65: ++YYCURSOR; { zend_string *str; @@ -496,361 +497,361 @@ yy66: return PHP_JSON_T_STRING; } } -yy68: +yy67: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); if (yych <= 'e') { if (yych <= '/') { - if (yych == '"') goto yy92; - if (yych >= '/') goto yy92; + if (yych == '"') goto yy91; + if (yych >= '/') goto yy91; } else { if (yych <= '\\') { - if (yych >= '\\') goto yy92; + if (yych >= '\\') goto yy91; } else { - if (yych == 'b') goto yy92; + if (yych == 'b') goto yy91; } } } else { if (yych <= 'q') { - if (yych <= 'f') goto yy92; - if (yych == 'n') goto yy92; + if (yych <= 'f') goto yy91; + if (yych == 'n') goto yy91; } else { if (yych <= 's') { - if (yych <= 'r') goto yy92; + if (yych <= 'r') goto yy91; } else { - if (yych <= 't') goto yy92; - if (yych <= 'u') goto yy94; + if (yych <= 't') goto yy91; + if (yych <= 'u') goto yy93; } } } -yy69: +yy68: { s->errcode = PHP_JSON_ERROR_SYNTAX; return PHP_JSON_T_ERROR; } -yy70: +yy69: ++YYCURSOR; -yy71: +yy70: { s->errcode = PHP_JSON_ERROR_UTF8; return PHP_JSON_T_ERROR; } -yy72: +yy71: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy83; - goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych <= 0xBF) goto yy82; + goto yy70; +yy72: + yyaccept = 1; + yych = *(YYMARKER = ++YYCURSOR); + if (yych <= 0x9F) goto yy70; + if (yych <= 0xBF) goto yy90; + goto yy70; yy73: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x9F) goto yy71; - if (yych <= 0xBF) goto yy91; - goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych <= 0xBF) goto yy89; + goto yy70; yy74: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy90; - goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych <= 0x9F) goto yy88; + goto yy70; yy75: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy71; - if (yych <= 0x9F) goto yy89; - goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych <= 0xBF) goto yy87; + goto yy70; yy76: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy88; - goto yy71; + if (yych <= 0x8F) goto yy70; + if (yych <= 0xBF) goto yy85; + goto yy70; yy77: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x8F) goto yy71; - if (yych <= 0xBF) goto yy86; - goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych <= 0xBF) goto yy83; + goto yy70; yy78: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy71; - if (yych <= 0xBF) goto yy84; - goto yy71; -yy79: - yyaccept = 1; - yych = *(YYMARKER = ++YYCURSOR); - if (yych <= 0x7F) goto yy71; - if (yych >= 0x90) goto yy71; + if (yych <= 0x7F) goto yy70; + if (yych >= 0x90) goto yy70; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy82; -yy81: + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy81; +yy80: YYCURSOR = YYMARKER; if (yyaccept <= 1) { - if (yyaccept == 0) { - goto yy69; + if (yyaccept <= 0) { + goto yy68; } else { - goto yy71; + goto yy70; } } else { - goto yy101; + goto yy100; } +yy81: + yych = *++YYCURSOR; + if (yych <= 0x7F) goto yy80; + if (yych >= 0xC0) goto yy80; yy82: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych >= 0xC0) goto yy81; + goto yy64; yy83: yych = *++YYCURSOR; - goto yy65; -yy84: + if (yych <= 0x7F) goto yy80; + if (yych >= 0xC0) goto yy80; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych >= 0xC0) goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; +yy85: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; -yy86: + if (yych <= 0x7F) goto yy80; + if (yych >= 0xC0) goto yy80; yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych >= 0xC0) goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; +yy87: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; yy88: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; yy89: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; yy90: yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; + if (yych <= 0x7F) goto yy80; + if (yych <= 0xBF) goto yy82; + goto yy80; yy91: - yych = *++YYCURSOR; - if (yych <= 0x7F) goto yy81; - if (yych <= 0xBF) goto yy83; - goto yy81; -yy92: ++YYCURSOR; { s->str_esc++; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy94: +yy93: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= '9') { - if (yych <= '/') goto yy81; - if (yych >= '1') goto yy97; + if (yych <= '/') goto yy80; + if (yych >= '1') goto yy96; } else { - if (yych <= '@') goto yy81; - if (yych <= 'C') goto yy97; - goto yy96; + if (yych <= '@') goto yy80; + if (yych <= 'C') goto yy96; + goto yy95; } } else { if (yych <= 'c') { - if (yych <= 'F') goto yy97; - if (yych <= '`') goto yy81; - goto yy97; + if (yych <= 'F') goto yy96; + if (yych <= '`') goto yy80; + goto yy96; } else { - if (yych <= 'd') goto yy96; - if (yych <= 'f') goto yy97; - goto yy81; + if (yych <= 'd') goto yy95; + if (yych <= 'f') goto yy96; + goto yy80; } } yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '/') goto yy81; - if (yych <= '0') goto yy112; - if (yych <= '7') goto yy113; - goto yy98; + if (yych <= '/') goto yy80; + if (yych <= '0') goto yy111; + if (yych <= '7') goto yy112; + goto yy97; } else { if (yych <= 'F') { - if (yych <= '@') goto yy81; - goto yy98; + if (yych <= '@') goto yy80; + goto yy97; } else { - if (yych <= '`') goto yy81; - if (yych <= 'f') goto yy98; - goto yy81; + if (yych <= '`') goto yy80; + if (yych <= 'f') goto yy97; + goto yy80; } } -yy96: +yy95: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= '7') { - if (yych <= '/') goto yy81; - goto yy98; + if (yych <= '/') goto yy80; + goto yy97; } else { - if (yych <= '9') goto yy102; - if (yych <= '@') goto yy81; - goto yy102; + if (yych <= '9') goto yy101; + if (yych <= '@') goto yy80; + goto yy101; } } else { if (yych <= '`') { - if (yych <= 'F') goto yy98; - goto yy81; + if (yych <= 'F') goto yy97; + goto yy80; } else { - if (yych <= 'b') goto yy102; - if (yych <= 'f') goto yy98; - goto yy81; + if (yych <= 'b') goto yy101; + if (yych <= 'f') goto yy97; + goto yy80; } } +yy96: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; + } else { + if (yych <= 'F') goto yy97; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; + } yy97: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { if (yych <= 'F') goto yy98; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } yy98: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { if (yych <= 'F') goto yy99; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } yy99: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; - } else { - if (yych <= 'F') goto yy100; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; - } -yy100: ++YYCURSOR; -yy101: +yy100: { s->str_esc += 3; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy102: +yy101: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy103; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy102; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy103: +yy102: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy104; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy103; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy104: +yy103: yyaccept = 2; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '\\') goto yy101; + if (yych != '\\') goto yy100; yych = *++YYCURSOR; - if (yych != 'u') goto yy81; + if (yych != 'u') goto yy80; yych = *++YYCURSOR; - if (yych == 'D') goto yy107; - if (yych != 'd') goto yy81; -yy107: + if (yych == 'D') goto yy106; + if (yych != 'd') goto yy80; +yy106: yych = *++YYCURSOR; - if (yych <= 'B') goto yy81; - if (yych <= 'F') goto yy108; - if (yych <= 'b') goto yy81; - if (yych >= 'g') goto yy81; -yy108: + if (yych <= 'B') goto yy80; + if (yych <= 'F') goto yy107; + if (yych <= 'b') goto yy80; + if (yych >= 'g') goto yy80; +yy107: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy109; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy108; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy109: +yy108: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy110; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy109; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy110: +yy109: ++YYCURSOR; { s->str_esc += 8; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy112: +yy111: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych <= '7') goto yy117; - if (yych <= '9') goto yy114; - goto yy81; + if (yych <= '/') goto yy80; + if (yych <= '7') goto yy116; + if (yych <= '9') goto yy113; + goto yy80; } else { - if (yych <= 'F') goto yy114; - if (yych <= '`') goto yy81; - if (yych <= 'f') goto yy114; - goto yy81; + if (yych <= 'F') goto yy113; + if (yych <= '`') goto yy80; + if (yych <= 'f') goto yy113; + goto yy80; } -yy113: +yy112: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy114; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy113; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy114: +yy113: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy115; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy114; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy115: +yy114: ++YYCURSOR; { s->str_esc += 4; PHP_JSON_CONDITION_GOTO(STR_P1); } -yy117: +yy116: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy81; - if (yych >= ':') goto yy81; + if (yych <= '/') goto yy80; + if (yych >= ':') goto yy80; } else { - if (yych <= 'F') goto yy118; - if (yych <= '`') goto yy81; - if (yych >= 'g') goto yy81; + if (yych <= 'F') goto yy117; + if (yych <= '`') goto yy80; + if (yych >= 'g') goto yy80; } -yy118: +yy117: ++YYCURSOR; { s->str_esc += 5; @@ -859,22 +860,22 @@ yy118: /* *********************************** */ yyc_STR_P2: yych = *YYCURSOR; - if (yych == '"') goto yy124; - if (yych == '\\') goto yy126; + if (yych == '"') goto yy123; + if (yych == '\\') goto yy125; ++YYCURSOR; { PHP_JSON_CONDITION_GOTO(STR_P2); } -yy124: +yy123: ++YYCURSOR; YYSETCONDITION(yycJS); { PHP_JSON_SCANNER_COPY_ESC(); return PHP_JSON_T_STRING; } -yy126: +yy125: yyaccept = 0; yych = *(YYMARKER = ++YYCURSOR); - if (yych == 'u') goto yy128; -yy127: + if (yych == 'u') goto yy127; +yy126: { char esc; PHP_JSON_SCANNER_COPY_ESC(); @@ -908,105 +909,105 @@ yy127: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy128: +yy127: yych = *++YYCURSOR; if (yych <= 'D') { if (yych <= '9') { - if (yych <= '/') goto yy129; - if (yych <= '0') goto yy130; - goto yy132; - } else { - if (yych <= '@') goto yy129; - if (yych <= 'C') goto yy132; + if (yych <= '/') goto yy128; + if (yych <= '0') goto yy129; goto yy131; + } else { + if (yych <= '@') goto yy128; + if (yych <= 'C') goto yy131; + goto yy130; } } else { if (yych <= 'c') { - if (yych <= 'F') goto yy132; - if (yych >= 'a') goto yy132; + if (yych <= 'F') goto yy131; + if (yych >= 'a') goto yy131; } else { - if (yych <= 'd') goto yy131; - if (yych <= 'f') goto yy132; + if (yych <= 'd') goto yy130; + if (yych <= 'f') goto yy131; } } -yy129: +yy128: YYCURSOR = YYMARKER; - if (yyaccept == 0) { - goto yy127; + if (yyaccept <= 0) { + goto yy126; } else { - goto yy136; + goto yy135; } -yy130: +yy129: yych = *++YYCURSOR; if (yych <= '9') { - if (yych <= '/') goto yy129; - if (yych <= '0') goto yy147; - if (yych <= '7') goto yy148; - goto yy133; + if (yych <= '/') goto yy128; + if (yych <= '0') goto yy146; + if (yych <= '7') goto yy147; + goto yy132; } else { if (yych <= 'F') { - if (yych <= '@') goto yy129; - goto yy133; + if (yych <= '@') goto yy128; + goto yy132; } else { - if (yych <= '`') goto yy129; - if (yych <= 'f') goto yy133; - goto yy129; + if (yych <= '`') goto yy128; + if (yych <= 'f') goto yy132; + goto yy128; } } -yy131: +yy130: yych = *++YYCURSOR; if (yych <= 'B') { if (yych <= '7') { - if (yych <= '/') goto yy129; - goto yy133; + if (yych <= '/') goto yy128; + goto yy132; } else { - if (yych <= '9') goto yy137; - if (yych <= '@') goto yy129; - goto yy137; + if (yych <= '9') goto yy136; + if (yych <= '@') goto yy128; + goto yy136; } } else { if (yych <= '`') { - if (yych <= 'F') goto yy133; - goto yy129; + if (yych <= 'F') goto yy132; + goto yy128; } else { - if (yych <= 'b') goto yy137; - if (yych <= 'f') goto yy133; - goto yy129; + if (yych <= 'b') goto yy136; + if (yych <= 'f') goto yy132; + goto yy128; } } +yy131: + yych = *++YYCURSOR; + if (yych <= '@') { + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; + } else { + if (yych <= 'F') goto yy132; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; + } yy132: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { if (yych <= 'F') goto yy133; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } yy133: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { if (yych <= 'F') goto yy134; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } yy134: - yych = *++YYCURSOR; - if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; - } else { - if (yych <= 'F') goto yy135; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; - } -yy135: ++YYCURSOR; -yy136: +yy135: { int utf16 = php_json_ucs2_to_int(s, 4); PHP_JSON_SCANNER_COPY_UTF(); @@ -1016,62 +1017,62 @@ yy136: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy137: +yy136: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy138; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy137; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy138: +yy137: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy139; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy138; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy139: +yy138: yyaccept = 1; yych = *(YYMARKER = ++YYCURSOR); - if (yych != '\\') goto yy136; + if (yych != '\\') goto yy135; yych = *++YYCURSOR; - if (yych != 'u') goto yy129; + if (yych != 'u') goto yy128; yych = *++YYCURSOR; - if (yych == 'D') goto yy142; - if (yych != 'd') goto yy129; -yy142: + if (yych == 'D') goto yy141; + if (yych != 'd') goto yy128; +yy141: yych = *++YYCURSOR; - if (yych <= 'B') goto yy129; - if (yych <= 'F') goto yy143; - if (yych <= 'b') goto yy129; - if (yych >= 'g') goto yy129; -yy143: + if (yych <= 'B') goto yy128; + if (yych <= 'F') goto yy142; + if (yych <= 'b') goto yy128; + if (yych >= 'g') goto yy128; +yy142: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy144; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy143; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy144: +yy143: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy145; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy144; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy145: +yy144: ++YYCURSOR; { int utf32, utf16_hi, utf16_lo; @@ -1086,40 +1087,40 @@ yy145: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy147: +yy146: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych <= '7') goto yy152; - if (yych <= '9') goto yy149; - goto yy129; + if (yych <= '/') goto yy128; + if (yych <= '7') goto yy151; + if (yych <= '9') goto yy148; + goto yy128; } else { - if (yych <= 'F') goto yy149; - if (yych <= '`') goto yy129; - if (yych <= 'f') goto yy149; - goto yy129; + if (yych <= 'F') goto yy148; + if (yych <= '`') goto yy128; + if (yych <= 'f') goto yy148; + goto yy128; } -yy148: +yy147: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy149; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy148; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy149: +yy148: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy150; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy149; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy150: +yy149: ++YYCURSOR; { int utf16 = php_json_ucs2_to_int(s, 3); @@ -1129,17 +1130,17 @@ yy150: s->str_start = s->cursor; PHP_JSON_CONDITION_GOTO(STR_P2); } -yy152: +yy151: yych = *++YYCURSOR; if (yych <= '@') { - if (yych <= '/') goto yy129; - if (yych >= ':') goto yy129; + if (yych <= '/') goto yy128; + if (yych >= ':') goto yy128; } else { - if (yych <= 'F') goto yy153; - if (yych <= '`') goto yy129; - if (yych >= 'g') goto yy129; + if (yych <= 'F') goto yy152; + if (yych <= '`') goto yy128; + if (yych >= 'g') goto yy128; } -yy153: +yy152: ++YYCURSOR; { int utf16 = php_json_ucs2_to_int(s, 2); diff --git a/ext/json/php_json_scanner_defs.h b/ext/json/php_json_scanner_defs.h index e1a5824dd3..b3867433a7 100644 --- a/ext/json/php_json_scanner_defs.h +++ b/ext/json/php_json_scanner_defs.h @@ -1,4 +1,4 @@ -/* Generated by re2c 0.13.6 */ +/* Generated by re2c 0.13.5 */ enum YYCONDTYPE { yycJS, -- 2.40.0