-/* Generated by re2c 0.13.5 */
+/* Generated by re2c 0.13.6 */
/*
+----------------------------------------------------------------------+
| PHP Version 5 |
return php_json_ucs2_to_int_ex(s, size, 1);
}
-void php_json_scanner_init(php_json_scanner *s, char *str, int str_len, long options)
+void php_json_scanner_init(php_json_scanner *s, char *str, size_t str_len, int options)
{
s->cursor = (php_json_ctype *) str;
s->limit = (php_json_ctype *) str + str_len;
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 yy2;
- if (yych <= 0x08) goto yy4;
- if (yych <= '\t') goto yy6;
- goto yy8;
+ if (yych <= 0x00) goto yy3;
+ if (yych <= 0x08) goto yy5;
+ if (yych <= '\t') goto yy7;
+ goto yy9;
} else {
- if (yych == '\r') goto yy9;
- if (yych <= 0x1F) goto yy4;
- goto yy6;
+ if (yych == '\r') goto yy10;
+ if (yych <= 0x1F) goto yy5;
+ goto yy7;
}
} else {
if (yych <= ',') {
- if (yych == '"') goto yy10;
- if (yych <= '+') goto yy4;
- goto yy12;
+ if (yych == '"') goto yy11;
+ if (yych <= '+') goto yy5;
+ goto yy13;
} else {
- if (yych <= '-') goto yy14;
- if (yych <= '/') goto yy4;
- if (yych <= '0') goto yy15;
- goto yy17;
+ if (yych <= '-') goto yy15;
+ if (yych <= '/') goto yy5;
+ if (yych <= '0') goto yy16;
+ goto yy18;
}
}
} else {
if (yych <= 'm') {
if (yych <= '\\') {
- if (yych <= ':') goto yy18;
- if (yych == '[') goto yy20;
- goto yy4;
+ if (yych <= ':') goto yy19;
+ if (yych == '[') goto yy21;
+ goto yy5;
} else {
- if (yych <= ']') goto yy22;
- if (yych == 'f') goto yy24;
- goto yy4;
+ if (yych <= ']') goto yy23;
+ if (yych == 'f') goto yy25;
+ goto yy5;
}
} else {
if (yych <= 'z') {
- if (yych <= 'n') goto yy25;
- if (yych == 't') goto yy26;
- goto yy4;
+ if (yych <= 'n') goto yy26;
+ if (yych == 't') goto yy27;
+ goto yy5;
} else {
- if (yych <= '{') goto yy27;
- if (yych == '}') goto yy29;
- goto yy4;
+ if (yych <= '{') goto yy28;
+ if (yych == '}') goto yy30;
+ goto yy5;
}
}
}
-yy2:
+yy3:
++YYCURSOR;
{
if (s->limit < s->cursor) {
return PHP_JSON_T_ERROR;
}
}
-yy4:
- ++YYCURSOR;
yy5:
+ ++YYCURSOR;
+yy6:
{
s->errcode = PHP_JSON_ERROR_SYNTAX;
return PHP_JSON_T_ERROR;
}
-yy6:
+yy7:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy57;
-yy7:
- { goto std; }
+ goto yy58;
yy8:
- yych = *++YYCURSOR;
- goto yy7;
+ { goto std; }
yy9:
yych = *++YYCURSOR;
- if (yych == '\n') goto yy58;
- goto yy57;
+ goto yy8;
yy10:
+ yych = *++YYCURSOR;
+ if (yych == '\n') goto yy59;
+ goto yy58;
+yy11:
++YYCURSOR;
{
s->str_start = s->cursor;
PHP_JSON_CONDITION_SET(STR_P1);
PHP_JSON_CONDITION_GOTO(STR_P1);
}
-yy12:
+yy13:
++YYCURSOR;
{ return ','; }
-yy14:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy5;
- if (yych <= '0') goto yy55;
- if (yych <= '9') goto yy45;
- goto yy5;
yy15:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy6;
+ if (yych <= '0') goto yy56;
+ if (yych <= '9') goto yy46;
+ goto yy6;
+yy16:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'D') {
- if (yych == '.') goto yy47;
+ if (yych == '.') goto yy48;
} else {
- if (yych <= 'E') goto yy48;
- if (yych == 'e') goto yy48;
+ if (yych <= 'E') goto yy49;
+ if (yych == 'e') goto yy49;
}
-yy16:
+yy17:
{
zend_bool bigint = 0, negative = s->token[0] == '-';
size_t digits = (size_t) (s->cursor - s->token - negative);
return PHP_JSON_T_DOUBLE;
}
}
-yy17:
+yy18:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- goto yy46;
-yy18:
+ goto yy47;
+yy19:
++YYCURSOR;
{ return ':'; }
-yy20:
+yy21:
++YYCURSOR;
{ return '['; }
-yy22:
+yy23:
++YYCURSOR;
{ return ']'; }
-yy24:
- yyaccept = 1;
- yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'a') goto yy40;
- goto yy5;
yy25:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy36;
- goto yy5;
+ if (yych == 'a') goto yy41;
+ goto yy6;
yy26:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'r') goto yy31;
- goto yy5;
+ if (yych == 'u') goto yy37;
+ goto yy6;
yy27:
+ yyaccept = 1;
+ yych = *(YYMARKER = ++YYCURSOR);
+ if (yych == 'r') goto yy32;
+ goto yy6;
+yy28:
++YYCURSOR;
{ return '{'; }
-yy29:
+yy30:
++YYCURSOR;
{ return '}'; }
-yy31:
- yych = *++YYCURSOR;
- if (yych == 'u') goto yy33;
yy32:
+ yych = *++YYCURSOR;
+ if (yych == 'u') goto yy34;
+yy33:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy16;
+ if (yyaccept == 0) {
+ goto yy17;
} else {
- goto yy5;
+ goto yy6;
}
} else {
- goto yy52;
+ goto yy53;
}
-yy33:
+yy34:
yych = *++YYCURSOR;
- if (yych != 'e') goto yy32;
+ if (yych != 'e') goto yy33;
++YYCURSOR;
{
ZVAL_TRUE(&s->value);
return PHP_JSON_T_TRUE;
}
-yy36:
+yy37:
yych = *++YYCURSOR;
- if (yych != 'l') goto yy32;
+ if (yych != 'l') goto yy33;
yych = *++YYCURSOR;
- if (yych != 'l') goto yy32;
+ if (yych != 'l') goto yy33;
++YYCURSOR;
{
ZVAL_NULL(&s->value);
return PHP_JSON_T_NUL;
}
-yy40:
+yy41:
yych = *++YYCURSOR;
- if (yych != 'l') goto yy32;
+ if (yych != 'l') goto yy33;
yych = *++YYCURSOR;
- if (yych != 's') goto yy32;
+ if (yych != 's') goto yy33;
yych = *++YYCURSOR;
- if (yych != 'e') goto yy32;
+ if (yych != 'e') goto yy33;
++YYCURSOR;
{
ZVAL_FALSE(&s->value);
return PHP_JSON_T_FALSE;
}
-yy45:
+yy46:
yyaccept = 0;
YYMARKER = ++YYCURSOR;
yych = *YYCURSOR;
-yy46:
+yy47:
if (yybm[0+yych] & 64) {
- goto yy45;
+ goto yy46;
}
if (yych <= 'D') {
- if (yych != '.') goto yy16;
+ if (yych != '.') goto yy17;
} else {
- if (yych <= 'E') goto yy48;
- if (yych == 'e') goto yy48;
- goto yy16;
+ if (yych <= 'E') goto yy49;
+ if (yych == 'e') goto yy49;
+ goto yy17;
}
-yy47:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy32;
- if (yych <= '9') goto yy53;
- goto yy32;
yy48:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy33;
+ if (yych <= '9') goto yy54;
+ goto yy33;
+yy49:
yych = *++YYCURSOR;
if (yych <= ',') {
- if (yych != '+') goto yy32;
+ if (yych != '+') goto yy33;
} else {
- if (yych <= '-') goto yy49;
- if (yych <= '/') goto yy32;
- if (yych <= '9') goto yy50;
- goto yy32;
+ if (yych <= '-') goto yy50;
+ if (yych <= '/') goto yy33;
+ if (yych <= '9') goto yy51;
+ goto yy33;
}
-yy49:
- yych = *++YYCURSOR;
- if (yych <= '/') goto yy32;
- if (yych >= ':') goto yy32;
yy50:
+ yych = *++YYCURSOR;
+ if (yych <= '/') goto yy33;
+ if (yych >= ':') goto yy33;
+yy51:
++YYCURSOR;
yych = *YYCURSOR;
- if (yych <= '/') goto yy52;
- if (yych <= '9') goto yy50;
-yy52:
+ if (yych <= '/') goto yy53;
+ if (yych <= '9') goto yy51;
+yy53:
{
ZVAL_DOUBLE(&s->value, zend_strtod((char *) s->token, NULL));
return PHP_JSON_T_DOUBLE;
}
-yy53:
+yy54:
yyaccept = 2;
YYMARKER = ++YYCURSOR;
yych = *YYCURSOR;
if (yych <= 'D') {
- if (yych <= '/') goto yy52;
- if (yych <= '9') goto yy53;
- goto yy52;
+ if (yych <= '/') goto yy53;
+ if (yych <= '9') goto yy54;
+ goto yy53;
} else {
- if (yych <= 'E') goto yy48;
- if (yych == 'e') goto yy48;
- goto yy52;
+ if (yych <= 'E') goto yy49;
+ if (yych == 'e') goto yy49;
+ goto yy53;
}
-yy55:
+yy56:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'D') {
- if (yych == '.') goto yy47;
- goto yy16;
+ if (yych == '.') goto yy48;
+ goto yy17;
} else {
- if (yych <= 'E') goto yy48;
- if (yych == 'e') goto yy48;
- goto yy16;
+ if (yych <= 'E') goto yy49;
+ if (yych == 'e') goto yy49;
+ goto yy17;
}
-yy56:
+yy57:
++YYCURSOR;
yych = *YYCURSOR;
-yy57:
+yy58:
if (yybm[0+yych] & 128) {
- goto yy56;
+ goto yy57;
}
- goto yy7;
-yy58:
+ goto yy8;
+yy59:
++YYCURSOR;
yych = *YYCURSOR;
- goto yy7;
+ goto yy8;
}
/* *********************************** */
yyc_STR_P1:
yych = *YYCURSOR;
if (yych <= 0xDF) {
if (yych <= '[') {
- if (yych <= 0x1F) goto yy61;
- if (yych == '"') goto yy65;
- goto yy63;
+ if (yych <= 0x1F) goto yy62;
+ if (yych == '"') goto yy66;
+ goto yy64;
} else {
- if (yych <= '\\') goto yy67;
- if (yych <= 0x7F) goto yy63;
- if (yych <= 0xC1) goto yy69;
- goto yy71;
+ if (yych <= '\\') goto yy68;
+ if (yych <= 0x7F) goto yy64;
+ if (yych <= 0xC1) goto yy70;
+ goto yy72;
}
} else {
if (yych <= 0xEF) {
- if (yych <= 0xE0) goto yy72;
- if (yych <= 0xEC) goto yy73;
- if (yych <= 0xED) goto yy74;
- goto yy75;
+ if (yych <= 0xE0) goto yy73;
+ if (yych <= 0xEC) goto yy74;
+ if (yych <= 0xED) goto yy75;
+ goto yy76;
} else {
- if (yych <= 0xF0) goto yy76;
- if (yych <= 0xF3) goto yy77;
- if (yych <= 0xF4) goto yy78;
- goto yy69;
+ if (yych <= 0xF0) goto yy77;
+ if (yych <= 0xF3) goto yy78;
+ if (yych <= 0xF4) goto yy79;
+ goto yy70;
}
}
-yy61:
+yy62:
++YYCURSOR;
{
s->errcode = PHP_JSON_ERROR_CTRL_CHAR;
return PHP_JSON_T_ERROR;
}
-yy63:
- ++YYCURSOR;
yy64:
- { PHP_JSON_CONDITION_GOTO(STR_P1); }
+ ++YYCURSOR;
yy65:
+ { PHP_JSON_CONDITION_GOTO(STR_P1); }
+yy66:
++YYCURSOR;
{
zend_string *str;
return PHP_JSON_T_STRING;
}
}
-yy67:
+yy68:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
if (yych <= 'e') {
if (yych <= '/') {
- if (yych == '"') goto yy91;
- if (yych >= '/') goto yy91;
+ if (yych == '"') goto yy92;
+ if (yych >= '/') goto yy92;
} else {
if (yych <= '\\') {
- if (yych >= '\\') goto yy91;
+ if (yych >= '\\') goto yy92;
} else {
- if (yych == 'b') goto yy91;
+ if (yych == 'b') goto yy92;
}
}
} else {
if (yych <= 'q') {
- if (yych <= 'f') goto yy91;
- if (yych == 'n') goto yy91;
+ if (yych <= 'f') goto yy92;
+ if (yych == 'n') goto yy92;
} else {
if (yych <= 's') {
- if (yych <= 'r') goto yy91;
+ if (yych <= 'r') goto yy92;
} else {
- if (yych <= 't') goto yy91;
- if (yych <= 'u') goto yy93;
+ if (yych <= 't') goto yy92;
+ if (yych <= 'u') goto yy94;
}
}
}
-yy68:
+yy69:
{
s->errcode = PHP_JSON_ERROR_SYNTAX;
return PHP_JSON_T_ERROR;
}
-yy69:
- ++YYCURSOR;
yy70:
+ ++YYCURSOR;
+yy71:
{
s->errcode = PHP_JSON_ERROR_UTF8;
return PHP_JSON_T_ERROR;
}
-yy71:
- yych = *++YYCURSOR;
- 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;
+ yych = *++YYCURSOR;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy83;
+ goto yy71;
yy73:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy70;
- if (yych <= 0xBF) goto yy89;
- goto yy70;
+ if (yych <= 0x9F) goto yy71;
+ if (yych <= 0xBF) goto yy91;
+ goto yy71;
yy74:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy70;
- if (yych <= 0x9F) goto yy88;
- goto yy70;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy90;
+ goto yy71;
yy75:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy70;
- if (yych <= 0xBF) goto yy87;
- goto yy70;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0x9F) goto yy89;
+ goto yy71;
yy76:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x8F) goto yy70;
- if (yych <= 0xBF) goto yy85;
- goto yy70;
+ if (yych <= 0x7F) goto yy71;
+ if (yych <= 0xBF) goto yy88;
+ goto yy71;
yy77:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy70;
- if (yych <= 0xBF) goto yy83;
- goto yy70;
+ if (yych <= 0x8F) goto yy71;
+ if (yych <= 0xBF) goto yy86;
+ goto yy71;
yy78:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych <= 0x7F) goto yy70;
- if (yych >= 0x90) goto yy70;
+ 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;
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy81;
-yy80:
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy82;
+yy81:
YYCURSOR = YYMARKER;
if (yyaccept <= 1) {
- if (yyaccept <= 0) {
- goto yy68;
+ if (yyaccept == 0) {
+ goto yy69;
} else {
- goto yy70;
+ goto yy71;
}
} else {
- goto yy100;
+ goto yy101;
}
-yy81:
- yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych >= 0xC0) goto yy80;
yy82:
yych = *++YYCURSOR;
- goto yy64;
+ if (yych <= 0x7F) goto yy81;
+ if (yych >= 0xC0) goto yy81;
yy83:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych >= 0xC0) goto yy80;
+ goto yy65;
+yy84:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
-yy85:
+ if (yych <= 0x7F) goto yy81;
+ if (yych >= 0xC0) goto yy81;
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych >= 0xC0) goto yy80;
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy83;
+ goto yy81;
+yy86:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
-yy87:
+ if (yych <= 0x7F) goto yy81;
+ if (yych >= 0xC0) goto yy81;
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy83;
+ goto yy81;
yy88:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy83;
+ goto yy81;
yy89:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy83;
+ goto yy81;
yy90:
yych = *++YYCURSOR;
- if (yych <= 0x7F) goto yy80;
- if (yych <= 0xBF) goto yy82;
- goto yy80;
+ if (yych <= 0x7F) goto yy81;
+ if (yych <= 0xBF) goto yy83;
+ goto yy81;
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);
}
-yy93:
+yy94:
yych = *++YYCURSOR;
if (yych <= 'D') {
if (yych <= '9') {
- if (yych <= '/') goto yy80;
- if (yych >= '1') goto yy96;
+ if (yych <= '/') goto yy81;
+ if (yych >= '1') goto yy97;
} else {
- if (yych <= '@') goto yy80;
- if (yych <= 'C') goto yy96;
- goto yy95;
+ if (yych <= '@') goto yy81;
+ if (yych <= 'C') goto yy97;
+ goto yy96;
}
} else {
if (yych <= 'c') {
- if (yych <= 'F') goto yy96;
- if (yych <= '`') goto yy80;
- goto yy96;
+ if (yych <= 'F') goto yy97;
+ if (yych <= '`') goto yy81;
+ goto yy97;
} else {
- if (yych <= 'd') goto yy95;
- if (yych <= 'f') goto yy96;
- goto yy80;
+ if (yych <= 'd') goto yy96;
+ if (yych <= 'f') goto yy97;
+ goto yy81;
}
}
yych = *++YYCURSOR;
if (yych <= '9') {
- if (yych <= '/') goto yy80;
- if (yych <= '0') goto yy111;
- if (yych <= '7') goto yy112;
- goto yy97;
+ if (yych <= '/') goto yy81;
+ if (yych <= '0') goto yy112;
+ if (yych <= '7') goto yy113;
+ goto yy98;
} else {
if (yych <= 'F') {
- if (yych <= '@') goto yy80;
- goto yy97;
+ if (yych <= '@') goto yy81;
+ goto yy98;
} else {
- if (yych <= '`') goto yy80;
- if (yych <= 'f') goto yy97;
- goto yy80;
+ if (yych <= '`') goto yy81;
+ if (yych <= 'f') goto yy98;
+ goto yy81;
}
}
-yy95:
+yy96:
yych = *++YYCURSOR;
if (yych <= 'B') {
if (yych <= '7') {
- if (yych <= '/') goto yy80;
- goto yy97;
+ if (yych <= '/') goto yy81;
+ goto yy98;
} else {
- if (yych <= '9') goto yy101;
- if (yych <= '@') goto yy80;
- goto yy101;
+ if (yych <= '9') goto yy102;
+ if (yych <= '@') goto yy81;
+ goto yy102;
}
} else {
if (yych <= '`') {
- if (yych <= 'F') goto yy97;
- goto yy80;
+ if (yych <= 'F') goto yy98;
+ goto yy81;
} else {
- if (yych <= 'b') goto yy101;
- if (yych <= 'f') goto yy97;
- goto yy80;
+ if (yych <= 'b') goto yy102;
+ if (yych <= 'f') goto yy98;
+ goto yy81;
}
}
-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 yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
if (yych <= 'F') goto yy98;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
yy98:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
if (yych <= 'F') goto yy99;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
yy99:
- ++YYCURSOR;
+ 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:
{
s->str_esc += 3;
PHP_JSON_CONDITION_GOTO(STR_P1);
}
-yy101:
+yy102:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
- if (yych <= 'F') goto yy102;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= 'F') goto yy103;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
-yy102:
+yy103:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
- if (yych <= 'F') goto yy103;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= 'F') goto yy104;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
-yy103:
+yy104:
yyaccept = 2;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\\') goto yy100;
- yych = *++YYCURSOR;
- if (yych != 'u') goto yy80;
+ if (yych != '\\') goto yy101;
yych = *++YYCURSOR;
- if (yych == 'D') goto yy106;
- if (yych != 'd') goto yy80;
-yy106:
+ if (yych != 'u') goto yy81;
yych = *++YYCURSOR;
- if (yych <= 'B') goto yy80;
- if (yych <= 'F') goto yy107;
- if (yych <= 'b') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych == 'D') goto yy107;
+ if (yych != 'd') goto yy81;
yy107:
yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
- } else {
- if (yych <= 'F') goto yy108;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
- }
+ if (yych <= 'B') goto yy81;
+ if (yych <= 'F') goto yy108;
+ if (yych <= 'b') goto yy81;
+ if (yych >= 'g') goto yy81;
yy108:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
if (yych <= 'F') goto yy109;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
yy109:
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
+ } else {
+ if (yych <= 'F') goto yy110;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
+ }
+yy110:
++YYCURSOR;
{
s->str_esc += 8;
PHP_JSON_CONDITION_GOTO(STR_P1);
}
-yy111:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych <= '7') goto yy116;
- if (yych <= '9') goto yy113;
- goto yy80;
- } else {
- if (yych <= 'F') goto yy113;
- if (yych <= '`') goto yy80;
- if (yych <= 'f') goto yy113;
- goto yy80;
- }
yy112:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych <= '7') goto yy117;
+ if (yych <= '9') goto yy114;
+ goto yy81;
} else {
- if (yych <= 'F') goto yy113;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= 'F') goto yy114;
+ if (yych <= '`') goto yy81;
+ if (yych <= 'f') goto yy114;
+ goto yy81;
}
yy113:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
if (yych <= 'F') goto yy114;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
yy114:
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
+ } else {
+ if (yych <= 'F') goto yy115;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
+ }
+yy115:
++YYCURSOR;
{
s->str_esc += 4;
PHP_JSON_CONDITION_GOTO(STR_P1);
}
-yy116:
+yy117:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy80;
- if (yych >= ':') goto yy80;
+ if (yych <= '/') goto yy81;
+ if (yych >= ':') goto yy81;
} else {
- if (yych <= 'F') goto yy117;
- if (yych <= '`') goto yy80;
- if (yych >= 'g') goto yy80;
+ if (yych <= 'F') goto yy118;
+ if (yych <= '`') goto yy81;
+ if (yych >= 'g') goto yy81;
}
-yy117:
+yy118:
++YYCURSOR;
{
s->str_esc += 5;
/* *********************************** */
yyc_STR_P2:
yych = *YYCURSOR;
- if (yych == '"') goto yy123;
- if (yych == '\\') goto yy125;
+ if (yych == '"') goto yy124;
+ if (yych == '\\') goto yy126;
++YYCURSOR;
{ PHP_JSON_CONDITION_GOTO(STR_P2); }
-yy123:
+yy124:
++YYCURSOR;
YYSETCONDITION(yycJS);
{
PHP_JSON_SCANNER_COPY_ESC();
return PHP_JSON_T_STRING;
}
-yy125:
+yy126:
yyaccept = 0;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych == 'u') goto yy127;
-yy126:
+ if (yych == 'u') goto yy128;
+yy127:
{
char esc;
PHP_JSON_SCANNER_COPY_ESC();
s->str_start = s->cursor;
PHP_JSON_CONDITION_GOTO(STR_P2);
}
-yy127:
+yy128:
yych = *++YYCURSOR;
if (yych <= 'D') {
if (yych <= '9') {
- if (yych <= '/') goto yy128;
- if (yych <= '0') goto yy129;
- goto yy131;
+ if (yych <= '/') goto yy129;
+ if (yych <= '0') goto yy130;
+ goto yy132;
} else {
- if (yych <= '@') goto yy128;
- if (yych <= 'C') goto yy131;
- goto yy130;
+ if (yych <= '@') goto yy129;
+ if (yych <= 'C') goto yy132;
+ goto yy131;
}
} else {
if (yych <= 'c') {
- if (yych <= 'F') goto yy131;
- if (yych >= 'a') goto yy131;
+ if (yych <= 'F') goto yy132;
+ if (yych >= 'a') goto yy132;
} else {
- if (yych <= 'd') goto yy130;
- if (yych <= 'f') goto yy131;
+ if (yych <= 'd') goto yy131;
+ if (yych <= 'f') goto yy132;
}
}
-yy128:
+yy129:
YYCURSOR = YYMARKER;
- if (yyaccept <= 0) {
- goto yy126;
+ if (yyaccept == 0) {
+ goto yy127;
} else {
- goto yy135;
+ goto yy136;
}
-yy129:
+yy130:
yych = *++YYCURSOR;
if (yych <= '9') {
- if (yych <= '/') goto yy128;
- if (yych <= '0') goto yy146;
- if (yych <= '7') goto yy147;
- goto yy132;
+ if (yych <= '/') goto yy129;
+ if (yych <= '0') goto yy147;
+ if (yych <= '7') goto yy148;
+ goto yy133;
} else {
if (yych <= 'F') {
- if (yych <= '@') goto yy128;
- goto yy132;
+ if (yych <= '@') goto yy129;
+ goto yy133;
} else {
- if (yych <= '`') goto yy128;
- if (yych <= 'f') goto yy132;
- goto yy128;
+ if (yych <= '`') goto yy129;
+ if (yych <= 'f') goto yy133;
+ goto yy129;
}
}
-yy130:
+yy131:
yych = *++YYCURSOR;
if (yych <= 'B') {
if (yych <= '7') {
- if (yych <= '/') goto yy128;
- goto yy132;
+ if (yych <= '/') goto yy129;
+ goto yy133;
} else {
- if (yych <= '9') goto yy136;
- if (yych <= '@') goto yy128;
- goto yy136;
+ if (yych <= '9') goto yy137;
+ if (yych <= '@') goto yy129;
+ goto yy137;
}
} else {
if (yych <= '`') {
- if (yych <= 'F') goto yy132;
- goto yy128;
+ if (yych <= 'F') goto yy133;
+ goto yy129;
} else {
- if (yych <= 'b') goto yy136;
- if (yych <= 'f') goto yy132;
- goto yy128;
+ if (yych <= 'b') goto yy137;
+ if (yych <= 'f') goto yy133;
+ goto yy129;
}
}
-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 yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
if (yych <= 'F') goto yy133;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
yy133:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
if (yych <= 'F') goto yy134;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
yy134:
- ++YYCURSOR;
+ 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:
{
int utf16 = php_json_ucs2_to_int(s, 4);
PHP_JSON_SCANNER_COPY_UTF();
s->str_start = s->cursor;
PHP_JSON_CONDITION_GOTO(STR_P2);
}
-yy136:
+yy137:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
- if (yych <= 'F') goto yy137;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= 'F') goto yy138;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
-yy137:
+yy138:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
- if (yych <= 'F') goto yy138;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= 'F') goto yy139;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
-yy138:
+yy139:
yyaccept = 1;
yych = *(YYMARKER = ++YYCURSOR);
- if (yych != '\\') goto yy135;
- yych = *++YYCURSOR;
- if (yych != 'u') goto yy128;
+ if (yych != '\\') goto yy136;
yych = *++YYCURSOR;
- if (yych == 'D') goto yy141;
- if (yych != 'd') goto yy128;
-yy141:
+ if (yych != 'u') goto yy129;
yych = *++YYCURSOR;
- if (yych <= 'B') goto yy128;
- if (yych <= 'F') goto yy142;
- if (yych <= 'b') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych == 'D') goto yy142;
+ if (yych != 'd') goto yy129;
yy142:
yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
- } else {
- if (yych <= 'F') goto yy143;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
- }
+ if (yych <= 'B') goto yy129;
+ if (yych <= 'F') goto yy143;
+ if (yych <= 'b') goto yy129;
+ if (yych >= 'g') goto yy129;
yy143:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
if (yych <= 'F') goto yy144;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
yy144:
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
+ } else {
+ if (yych <= 'F') goto yy145;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
+ }
+yy145:
++YYCURSOR;
{
int utf32, utf16_hi, utf16_lo;
s->str_start = s->cursor;
PHP_JSON_CONDITION_GOTO(STR_P2);
}
-yy146:
- yych = *++YYCURSOR;
- if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych <= '7') goto yy151;
- if (yych <= '9') goto yy148;
- goto yy128;
- } else {
- if (yych <= 'F') goto yy148;
- if (yych <= '`') goto yy128;
- if (yych <= 'f') goto yy148;
- goto yy128;
- }
yy147:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych <= '7') goto yy152;
+ if (yych <= '9') goto yy149;
+ goto yy129;
} else {
- if (yych <= 'F') goto yy148;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= 'F') goto yy149;
+ if (yych <= '`') goto yy129;
+ if (yych <= 'f') goto yy149;
+ goto yy129;
}
yy148:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
if (yych <= 'F') goto yy149;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
yy149:
+ yych = *++YYCURSOR;
+ if (yych <= '@') {
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
+ } else {
+ if (yych <= 'F') goto yy150;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
+ }
+yy150:
++YYCURSOR;
{
int utf16 = php_json_ucs2_to_int(s, 3);
s->str_start = s->cursor;
PHP_JSON_CONDITION_GOTO(STR_P2);
}
-yy151:
+yy152:
yych = *++YYCURSOR;
if (yych <= '@') {
- if (yych <= '/') goto yy128;
- if (yych >= ':') goto yy128;
+ if (yych <= '/') goto yy129;
+ if (yych >= ':') goto yy129;
} else {
- if (yych <= 'F') goto yy152;
- if (yych <= '`') goto yy128;
- if (yych >= 'g') goto yy128;
+ if (yych <= 'F') goto yy153;
+ if (yych <= '`') goto yy129;
+ if (yych >= 'g') goto yy129;
}
-yy152:
+yy153:
++YYCURSOR;
{
int utf16 = php_json_ucs2_to_int(s, 2);