root/Zend/zend_ini_scanner.c

/* [<][>][^][v][top][bottom][index][help] */

DEFINITIONS

This source file includes following definitions.
  1. convert_to_number
  2. zend_ini_copy_typed_value
  3. _yy_push_state
  4. yy_pop_state
  5. yy_scan_buffer
  6. init_ini_scanner
  7. shutdown_ini_scanner
  8. zend_ini_scanner_get_lineno
  9. zend_ini_scanner_get_filename
  10. zend_ini_open_file_for_scanning
  11. zend_ini_prepare_string_for_scanning
  12. zend_ini_escape_string
  13. ini_lex

   1 /* Generated by re2c 0.13.5 */
   2 #line 1 "Zend/zend_ini_scanner.l"
   3 /*
   4    +----------------------------------------------------------------------+
   5    | Zend Engine                                                          |
   6    +----------------------------------------------------------------------+
   7    | Copyright (c) 1998-2016 Zend Technologies Ltd. (http://www.zend.com) |
   8    +----------------------------------------------------------------------+
   9    | This source file is subject to version 2.00 of the Zend license,     |
  10    | that is bundled with this package in the file LICENSE, and is        |
  11    | available through the world-wide-web at the following url:           |
  12    | http://www.zend.com/license/2_00.txt.                                |
  13    | If you did not receive a copy of the Zend license and are unable to  |
  14    | obtain it through the world-wide-web, please send a note to          |
  15    | license@zend.com so we can mail you a copy immediately.              |
  16    +----------------------------------------------------------------------+
  17    | Authors: Zeev Suraski <zeev@zend.com>                                |
  18    |          Jani Taskinen <jani@php.net>                                |
  19    |          Marcus Boerger <helly@php.net>                              |
  20    |          Nuno Lopes <nlopess@php.net>                                |
  21    |          Scott MacVicar <scottmac@php.net>                           |
  22    +----------------------------------------------------------------------+
  23 */
  24 
  25 /* $Id$ */
  26 
  27 #include <errno.h>
  28 #include "zend.h"
  29 #include "zend_API.h"
  30 #include "zend_globals.h"
  31 #include <zend_ini_parser.h>
  32 #include "zend_ini_scanner.h"
  33 
  34 #ifdef YYDEBUG
  35 #undef YYDEBUG
  36 #endif
  37 
  38 #if 0
  39 # define YYDEBUG(s, c) printf("state: %d char: %c\n", s, c)
  40 #else
  41 # define YYDEBUG(s, c)
  42 #endif
  43 
  44 #include "zend_ini_scanner_defs.h"
  45 
  46 #define YYCTYPE   unsigned char
  47 /* allow the scanner to read one null byte after the end of the string (from ZEND_MMAP_AHEAD)
  48  * so that if will be able to terminate to match the current token (e.g. non-enclosed string) */
  49 #define YYFILL(n) { if (YYCURSOR > YYLIMIT) return 0; }
  50 #define YYCURSOR  SCNG(yy_cursor)
  51 #define YYLIMIT   SCNG(yy_limit)
  52 #define YYMARKER  SCNG(yy_marker)
  53 
  54 #define YYGETCONDITION()  SCNG(yy_state)
  55 #define YYSETCONDITION(s) SCNG(yy_state) = s
  56 
  57 #define STATE(name)  yyc##name
  58 
  59 /* emulate flex constructs */
  60 #define BEGIN(state) YYSETCONDITION(STATE(state))
  61 #define YYSTATE      YYGETCONDITION()
  62 #define yytext       ((char*)SCNG(yy_text))
  63 #define yyleng       SCNG(yy_leng)
  64 #define yyless(x)    do {       YYCURSOR = (unsigned char*)yytext + x; \
  65                                                         yyleng   = (unsigned int)x; } while(0)
  66 
  67 /* #define yymore()     goto yymore_restart */
  68 
  69 /* perform sanity check. If this message is triggered you should
  70    increase the ZEND_MMAP_AHEAD value in the zend_streams.h file */
  71 #define YYMAXFILL 6
  72 #if ZEND_MMAP_AHEAD < (YYMAXFILL + 1)
  73 # error ZEND_MMAP_AHEAD should be greater than YYMAXFILL
  74 #endif
  75 
  76 
  77 /* How it works (for the core ini directives):
  78  * ===========================================
  79  *
  80  * 1. Scanner scans file for tokens and passes them to parser.
  81  * 2. Parser parses the tokens and passes the name/value pairs to the callback
  82  *    function which stores them in the configuration hash table.
  83  * 3. Later REGISTER_INI_ENTRIES() is called which triggers the actual
  84  *    registering of ini entries and uses zend_get_configuration_directive()
  85  *    to fetch the previously stored name/value pair from configuration hash table
  86  *    and registers the static ini entries which match the name to the value
  87  *    into EG(ini_directives) hash table.
  88  * 4. PATH section entries are used per-request from down to top, each overriding
  89  *    previous if one exists. zend_alter_ini_entry() is called for each entry.
  90  *    Settings in PATH section are ZEND_INI_SYSTEM accessible and thus mimics the
  91  *    php_admin_* directives used within Apache httpd.conf when PHP is compiled as
  92  *    module for Apache.
  93  * 5. User defined ini files (like .htaccess for apache) are parsed for each request and
  94  *    stored in separate hash defined by SAPI.
  95  */
  96 
  97 /* TODO: (ordered by importance :-)
  98  * ===============================================================================
  99  *
 100  *  - Separate constant lookup totally from plain strings (using CONSTANT pattern)
 101  *  - Add #if .. #else .. #endif and ==, !=, <, > , <=, >= operators
 102  *  - Add #include "some.ini"
 103  *  - Allow variables to refer to options also when using parse_ini_file()
 104  *
 105  */
 106 
 107 /* Globals Macros */
 108 #define SCNG    INI_SCNG
 109 #ifdef ZTS
 110 ZEND_API ts_rsrc_id ini_scanner_globals_id;
 111 #else
 112 ZEND_API zend_ini_scanner_globals ini_scanner_globals;
 113 #endif
 114 
 115 /* Eat leading whitespace */
 116 #define EAT_LEADING_WHITESPACE()                     \
 117         while (yyleng) {                                 \
 118                 if (yytext[0] == ' ' || yytext[0] == '\t') { \
 119                         SCNG(yy_text)++;                         \
 120                         yyleng--;                                \
 121                 } else {                                     \
 122                         break;                                   \
 123                 }                                            \
 124         }
 125 
 126 /* Eat trailing whitespace + extra char */
 127 #define EAT_TRAILING_WHITESPACE_EX(ch)              \
 128         while (yyleng && (                              \
 129                 (ch != 'X' && yytext[yyleng - 1] ==  ch) || \
 130                 yytext[yyleng - 1] == '\n' ||               \
 131                 yytext[yyleng - 1] == '\r' ||               \
 132                 yytext[yyleng - 1] == '\t' ||               \
 133                 yytext[yyleng - 1] == ' ')                  \
 134         ) {                                             \
 135                 yyleng--;                                   \
 136         }
 137 
 138 /* Eat trailing whitespace */
 139 #define EAT_TRAILING_WHITESPACE()       EAT_TRAILING_WHITESPACE_EX('X')
 140 
 141 #define zend_ini_copy_value(retval, str, len)   \
 142         ZVAL_NEW_STR(retval, zend_string_init(str, len, 1))
 143 
 144 
 145 #define RETURN_TOKEN(type, str, len) {                       \
 146         if (SCNG(scanner_mode) == ZEND_INI_SCANNER_TYPED) {      \
 147                 zend_ini_copy_typed_value(ini_lval, type, str, len); \
 148         } else {                                                 \
 149                 zend_ini_copy_value(ini_lval, str, len);             \
 150         }                                                        \
 151         return type;                                             \
 152 }
 153 
 154 static inline int convert_to_number(zval *retval, const char *str, const int str_len)
 155 {
 156         zend_uchar type;
 157         int overflow;
 158         zend_long lval;
 159         double dval;
 160 
 161         if ((type = is_numeric_string_ex(str, str_len, &lval, &dval, 0, &overflow)) != 0) {
 162                 if (type == IS_LONG) {
 163                         ZVAL_LONG(retval, lval);
 164                         return SUCCESS;
 165                 } else if (type == IS_DOUBLE && !overflow) {
 166                         ZVAL_DOUBLE(retval, dval);
 167                         return SUCCESS;
 168                 }
 169         }
 170 
 171         return FAILURE;
 172 }
 173 
 174 static void zend_ini_copy_typed_value(zval *retval, const int type, const char *str, int len)
 175 {
 176         switch (type) {
 177                 case BOOL_FALSE:
 178                 case BOOL_TRUE:
 179                         ZVAL_BOOL(retval, type == BOOL_TRUE);
 180                         break;
 181 
 182                 case NULL_NULL:
 183                         ZVAL_NULL(retval);
 184                         break;
 185 
 186                 case TC_NUMBER:
 187                         if (convert_to_number(retval, str, len) == SUCCESS) {
 188                                 break;
 189                         }
 190                         /* intentional fall-through */
 191                 default:
 192                         zend_ini_copy_value(retval, str, len);
 193         }
 194 }
 195 
 196 static void _yy_push_state(int new_state)
 197 {
 198         zend_stack_push(&SCNG(state_stack), (void *) &YYGETCONDITION());
 199         YYSETCONDITION(new_state);
 200 }
 201 
 202 #define yy_push_state(state_and_tsrm) _yy_push_state(yyc##state_and_tsrm)
 203 
 204 static void yy_pop_state(void)
 205 {
 206         int *stack_state = zend_stack_top(&SCNG(state_stack));
 207         YYSETCONDITION(*stack_state);
 208         zend_stack_del_top(&SCNG(state_stack));
 209 }
 210 
 211 static void yy_scan_buffer(char *str, unsigned int len)
 212 {
 213         YYCURSOR = (YYCTYPE*)str;
 214         SCNG(yy_start) = YYCURSOR;
 215         YYLIMIT  = YYCURSOR + len;
 216 }
 217 
 218 #define ini_filename SCNG(filename)
 219 
 220 /* {{{ init_ini_scanner()
 221 */
 222 static int init_ini_scanner(int scanner_mode, zend_file_handle *fh)
 223 {
 224         /* Sanity check */
 225         if (scanner_mode != ZEND_INI_SCANNER_NORMAL && scanner_mode != ZEND_INI_SCANNER_RAW && scanner_mode != ZEND_INI_SCANNER_TYPED) {
 226                 zend_error(E_WARNING, "Invalid scanner mode");
 227                 return FAILURE;
 228         }
 229 
 230         SCNG(lineno) = 1;
 231         SCNG(scanner_mode) = scanner_mode;
 232         SCNG(yy_in) = fh;
 233 
 234         if (fh != NULL) {
 235                 ini_filename = zend_strndup(fh->filename, strlen(fh->filename));
 236         } else {
 237                 ini_filename = NULL;
 238         }
 239 
 240         zend_stack_init(&SCNG(state_stack), sizeof(int));
 241         BEGIN(INITIAL);
 242 
 243         return SUCCESS;
 244 }
 245 /* }}} */
 246 
 247 /* {{{ shutdown_ini_scanner()
 248 */
 249 void shutdown_ini_scanner(void)
 250 {
 251         zend_stack_destroy(&SCNG(state_stack));
 252         if (ini_filename) {
 253                 free(ini_filename);
 254         }
 255 }
 256 /* }}} */
 257 
 258 /* {{{ zend_ini_scanner_get_lineno()
 259 */
 260 ZEND_COLD int zend_ini_scanner_get_lineno(void)
 261 {
 262         return SCNG(lineno);
 263 }
 264 /* }}} */
 265 
 266 /* {{{ zend_ini_scanner_get_filename()
 267 */
 268 ZEND_COLD char *zend_ini_scanner_get_filename(void)
 269 {
 270         return ini_filename ? ini_filename : "Unknown";
 271 }
 272 /* }}} */
 273 
 274 /* {{{ zend_ini_open_file_for_scanning()
 275 */
 276 int zend_ini_open_file_for_scanning(zend_file_handle *fh, int scanner_mode)
 277 {
 278         char *buf;
 279         size_t size;
 280 
 281         if (zend_stream_fixup(fh, &buf, &size) == FAILURE) {
 282                 return FAILURE;
 283         }
 284 
 285         if (init_ini_scanner(scanner_mode, fh) == FAILURE) {
 286                 zend_file_handle_dtor(fh);
 287                 return FAILURE;
 288         }
 289 
 290         yy_scan_buffer(buf, (unsigned int)size);
 291 
 292         return SUCCESS;
 293 }
 294 /* }}} */
 295 
 296 /* {{{ zend_ini_prepare_string_for_scanning()
 297 */
 298 int zend_ini_prepare_string_for_scanning(char *str, int scanner_mode)
 299 {
 300         int len = (int)strlen(str);
 301 
 302         if (init_ini_scanner(scanner_mode, NULL) == FAILURE) {
 303                 return FAILURE;
 304         }
 305 
 306         yy_scan_buffer(str, len);
 307 
 308         return SUCCESS;
 309 }
 310 /* }}} */
 311 
 312 /* {{{ zend_ini_escape_string()
 313  */
 314 static void zend_ini_escape_string(zval *lval, char *str, int len, char quote_type)
 315 {
 316         register char *s, *t;
 317         char *end;
 318 
 319         zend_ini_copy_value(lval, str, len);
 320 
 321         /* convert escape sequences */
 322         s = t = Z_STRVAL_P(lval);
 323         end = s + Z_STRLEN_P(lval);
 324 
 325         while (s < end) {
 326                 if (*s == '\\') {
 327                         s++;
 328                         if (s >= end) {
 329                                 *t++ = '\\';
 330                                 continue;
 331                         }
 332                         switch (*s) {
 333                                 case '"':
 334                                         if (*s != quote_type) {
 335                                                 *t++ = '\\';
 336                                                 *t++ = *s;
 337                                                 break;
 338                                         }
 339                                 case '\\':
 340                                 case '$':
 341                                         *t++ = *s;
 342                                         Z_STRLEN_P(lval)--;
 343                                         break;
 344                                 default:
 345                                         *t++ = '\\';
 346                                         *t++ = *s;
 347                                         break;
 348                         }
 349                 } else {
 350                         *t++ = *s;
 351                 }
 352                 if (*s == '\n' || (*s == '\r' && (*(s+1) != '\n'))) {
 353                         SCNG(lineno)++;
 354                 }
 355                 s++;
 356         }
 357         *t = 0;
 358 }
 359 /* }}} */
 360 
 361 int ini_lex(zval *ini_lval)
 362 {
 363 restart:
 364         SCNG(yy_text) = YYCURSOR;
 365 
 366 /* yymore_restart: */
 367         /* detect EOF */
 368         if (YYCURSOR >= YYLIMIT) {
 369                 if (YYSTATE == STATE(ST_VALUE) || YYSTATE == STATE(ST_RAW)) {
 370                         BEGIN(INITIAL);
 371                         return END_OF_LINE;
 372                 }
 373                 return 0;
 374         }
 375 
 376         /* Eat any UTF-8 BOM we find in the first 3 bytes */
 377         if (YYCURSOR == SCNG(yy_start) && YYCURSOR + 3 < YYLIMIT) {
 378                 if (memcmp(YYCURSOR, "\xef\xbb\xbf", 3) == 0) {
 379                         YYCURSOR += 3;
 380                         goto restart;
 381                 }
 382         }
 383 
 384 #line 385 "Zend/zend_ini_scanner.c"
 385 {
 386         YYCTYPE yych;
 387         unsigned int yyaccept = 0;
 388         if (YYGETCONDITION() < 4) {
 389                 if (YYGETCONDITION() < 2) {
 390                         if (YYGETCONDITION() < 1) {
 391                                 goto yyc_INITIAL;
 392                         } else {
 393                                 goto yyc_ST_OFFSET;
 394                         }
 395                 } else {
 396                         if (YYGETCONDITION() < 3) {
 397                                 goto yyc_ST_SECTION_VALUE;
 398                         } else {
 399                                 goto yyc_ST_VALUE;
 400                         }
 401                 }
 402         } else {
 403                 if (YYGETCONDITION() < 6) {
 404                         if (YYGETCONDITION() < 5) {
 405                                 goto yyc_ST_SECTION_RAW;
 406                         } else {
 407                                 goto yyc_ST_DOUBLE_QUOTES;
 408                         }
 409                 } else {
 410                         if (YYGETCONDITION() < 7) {
 411                                 goto yyc_ST_VARNAME;
 412                         } else {
 413                                 goto yyc_ST_RAW;
 414                         }
 415                 }
 416         }
 417 /* *********************************** */
 418 yyc_INITIAL:
 419         {
 420                 static const unsigned char yybm[] = {
 421                         144, 144, 144, 144, 144, 144, 144, 144, 
 422                         144, 160,   0, 144, 144,   0, 144, 144, 
 423                         144, 144, 144, 144, 144, 144, 144, 144, 
 424                         144, 144, 144, 144, 144, 144, 144, 144, 
 425                         240, 128, 128, 144, 128, 144, 128, 144, 
 426                         128, 128, 144, 144, 144, 144, 144, 144, 
 427                         144, 144, 144, 144, 144, 144, 144, 144, 
 428                         144, 144, 144, 128, 144, 128, 144, 144, 
 429                         144, 144, 144, 144, 144, 144, 144, 144, 
 430                         144, 144, 144, 144, 144, 144, 144, 144, 
 431                         144, 144, 144, 144, 144, 144, 144, 144, 
 432                         144, 144, 144, 128, 144, 144, 128, 144, 
 433                         144, 144, 144, 144, 144, 144, 144, 144, 
 434                         144, 144, 144, 144, 144, 144, 144, 144, 
 435                         144, 144, 144, 144, 144, 144, 144, 144, 
 436                         144, 144, 144, 128, 128, 128, 128, 144, 
 437                         144, 144, 144, 144, 144, 144, 144, 144, 
 438                         144, 144, 144, 144, 144, 144, 144, 144, 
 439                         144, 144, 144, 144, 144, 144, 144, 144, 
 440                         144, 144, 144, 144, 144, 144, 144, 144, 
 441                         144, 144, 144, 144, 144, 144, 144, 144, 
 442                         144, 144, 144, 144, 144, 144, 144, 144, 
 443                         144, 144, 144, 144, 144, 144, 144, 144, 
 444                         144, 144, 144, 144, 144, 144, 144, 144, 
 445                         144, 144, 144, 144, 144, 144, 144, 144, 
 446                         144, 144, 144, 144, 144, 144, 144, 144, 
 447                         144, 144, 144, 144, 144, 144, 144, 144, 
 448                         144, 144, 144, 144, 144, 144, 144, 144, 
 449                         144, 144, 144, 144, 144, 144, 144, 144, 
 450                         144, 144, 144, 144, 144, 144, 144, 144, 
 451                         144, 144, 144, 144, 144, 144, 144, 144, 
 452                         144, 144, 144, 144, 144, 144, 144, 144, 
 453                 };
 454 
 455                 YYDEBUG(0, *YYCURSOR);
 456                 YYFILL(5);
 457                 yych = *YYCURSOR;
 458                 YYDEBUG(-1, yych);
 459                 switch (yych) {
 460                 case '\t':      goto yy4;
 461                 case '\n':      goto yy6;
 462                 case '\r':      goto yy8;
 463                 case ' ':       goto yy9;
 464                 case '!':
 465                 case '"':
 466                 case '$':
 467                 case '&':
 468                 case '(':
 469                 case ')':
 470                 case '^':
 471                 case '{':
 472                 case '|':
 473                 case '}':
 474                 case '~':       goto yy10;
 475                 case '%':
 476                 case '\'':
 477                 case '*':
 478                 case '+':
 479                 case ',':
 480                 case '-':
 481                 case '.':
 482                 case '/':
 483                 case ':':
 484                 case '<':
 485                 case '>':
 486                 case '?':
 487                 case '@':
 488                 case ']':       goto yy12;
 489                 case ';':       goto yy13;
 490                 case '=':       goto yy15;
 491                 case 'F':
 492                 case 'f':       goto yy17;
 493                 case 'N':
 494                 case 'n':       goto yy18;
 495                 case 'O':
 496                 case 'o':       goto yy19;
 497                 case 'T':
 498                 case 't':       goto yy20;
 499                 case 'Y':
 500                 case 'y':       goto yy21;
 501                 case '[':       goto yy22;
 502                 default:        goto yy2;
 503                 }
 504 yy2:
 505                 YYDEBUG(2, *YYCURSOR);
 506                 ++YYCURSOR;
 507                 yych = *YYCURSOR;
 508                 goto yy25;
 509 yy3:
 510                 YYDEBUG(3, *YYCURSOR);
 511                 yyleng = YYCURSOR - SCNG(yy_text);
 512 #line 481 "Zend/zend_ini_scanner.l"
 513                 { /* Get option name */
 514         /* Eat leading whitespace */
 515         EAT_LEADING_WHITESPACE();
 516 
 517         /* Eat trailing whitespace */
 518         EAT_TRAILING_WHITESPACE();
 519 
 520         RETURN_TOKEN(TC_LABEL, yytext, yyleng);
 521 }
 522 #line 523 "Zend/zend_ini_scanner.c"
 523 yy4:
 524                 YYDEBUG(4, *YYCURSOR);
 525                 yyaccept = 0;
 526                 yych = *(YYMARKER = ++YYCURSOR);
 527                 goto yy63;
 528 yy5:
 529                 YYDEBUG(5, *YYCURSOR);
 530                 yyleng = YYCURSOR - SCNG(yy_text);
 531 #line 627 "Zend/zend_ini_scanner.l"
 532                 {
 533         /* eat whitespace */
 534         goto restart;
 535 }
 536 #line 537 "Zend/zend_ini_scanner.c"
 537 yy6:
 538                 YYDEBUG(6, *YYCURSOR);
 539                 ++YYCURSOR;
 540 yy7:
 541                 YYDEBUG(7, *YYCURSOR);
 542                 yyleng = YYCURSOR - SCNG(yy_text);
 543 #line 632 "Zend/zend_ini_scanner.l"
 544                 {
 545         SCNG(lineno)++;
 546         return END_OF_LINE;
 547 }
 548 #line 549 "Zend/zend_ini_scanner.c"
 549 yy8:
 550                 YYDEBUG(8, *YYCURSOR);
 551                 yych = *++YYCURSOR;
 552                 if (yych == '\n') goto yy66;
 553                 goto yy7;
 554 yy9:
 555                 YYDEBUG(9, *YYCURSOR);
 556                 yyaccept = 1;
 557                 yych = *(YYMARKER = ++YYCURSOR);
 558                 if (yych <= 0x1F) {
 559                         if (yych <= '\n') {
 560                                 if (yych <= 0x08) goto yy25;
 561                                 if (yych <= '\t') goto yy62;
 562                                 goto yy66;
 563                         } else {
 564                                 if (yych == '\r') goto yy67;
 565                                 goto yy25;
 566                         }
 567                 } else {
 568                         if (yych <= ';') {
 569                                 if (yych <= ' ') goto yy64;
 570                                 if (yych <= ':') goto yy25;
 571                                 goto yy57;
 572                         } else {
 573                                 if (yych == '=') goto yy55;
 574                                 goto yy25;
 575                         }
 576                 }
 577 yy10:
 578                 YYDEBUG(10, *YYCURSOR);
 579                 ++YYCURSOR;
 580                 YYDEBUG(11, *YYCURSOR);
 581                 yyleng = YYCURSOR - SCNG(yy_text);
 582 #line 555 "Zend/zend_ini_scanner.l"
 583                 { /* Disallow these chars outside option values */
 584         return yytext[0];
 585 }
 586 #line 587 "Zend/zend_ini_scanner.c"
 587 yy12:
 588                 YYDEBUG(12, *YYCURSOR);
 589                 yych = *++YYCURSOR;
 590                 goto yy25;
 591 yy13:
 592                 YYDEBUG(13, *YYCURSOR);
 593                 yyaccept = 2;
 594                 yych = *(YYMARKER = ++YYCURSOR);
 595                 goto yy58;
 596                 YYDEBUG(14, *YYCURSOR);
 597                 yyleng = YYCURSOR - SCNG(yy_text);
 598 #line 648 "Zend/zend_ini_scanner.l"
 599                 {
 600         return 0;
 601 }
 602 #line 603 "Zend/zend_ini_scanner.c"
 603 yy15:
 604                 YYDEBUG(15, *YYCURSOR);
 605                 ++YYCURSOR;
 606                 yych = *YYCURSOR;
 607                 goto yy56;
 608 yy16:
 609                 YYDEBUG(16, *YYCURSOR);
 610                 yyleng = YYCURSOR - SCNG(yy_text);
 611 #line 491 "Zend/zend_ini_scanner.l"
 612                 { /* Start option value */
 613         if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
 614                 yy_push_state(ST_RAW);
 615         } else {
 616                 yy_push_state(ST_VALUE);
 617         }
 618         return '=';
 619 }
 620 #line 621 "Zend/zend_ini_scanner.c"
 621 yy17:
 622                 YYDEBUG(17, *YYCURSOR);
 623                 yych = *++YYCURSOR;
 624                 if (yych == 'A') goto yy52;
 625                 if (yych == 'a') goto yy52;
 626                 goto yy25;
 627 yy18:
 628                 YYDEBUG(18, *YYCURSOR);
 629                 yych = *++YYCURSOR;
 630                 if (yych <= 'U') {
 631                         if (yych == 'O') goto yy43;
 632                         if (yych <= 'T') goto yy25;
 633                         goto yy44;
 634                 } else {
 635                         if (yych <= 'o') {
 636                                 if (yych <= 'n') goto yy25;
 637                                 goto yy43;
 638                         } else {
 639                                 if (yych == 'u') goto yy44;
 640                                 goto yy25;
 641                         }
 642                 }
 643 yy19:
 644                 YYDEBUG(19, *YYCURSOR);
 645                 yych = *++YYCURSOR;
 646                 if (yych <= 'N') {
 647                         if (yych == 'F') goto yy37;
 648                         if (yych <= 'M') goto yy25;
 649                         goto yy30;
 650                 } else {
 651                         if (yych <= 'f') {
 652                                 if (yych <= 'e') goto yy25;
 653                                 goto yy37;
 654                         } else {
 655                                 if (yych == 'n') goto yy30;
 656                                 goto yy25;
 657                         }
 658                 }
 659 yy20:
 660                 YYDEBUG(20, *YYCURSOR);
 661                 yych = *++YYCURSOR;
 662                 if (yych == 'R') goto yy35;
 663                 if (yych == 'r') goto yy35;
 664                 goto yy25;
 665 yy21:
 666                 YYDEBUG(21, *YYCURSOR);
 667                 yych = *++YYCURSOR;
 668                 if (yych == 'E') goto yy26;
 669                 if (yych == 'e') goto yy26;
 670                 goto yy25;
 671 yy22:
 672                 YYDEBUG(22, *YYCURSOR);
 673                 ++YYCURSOR;
 674                 YYDEBUG(23, *YYCURSOR);
 675                 yyleng = YYCURSOR - SCNG(yy_text);
 676 #line 406 "Zend/zend_ini_scanner.l"
 677                 { /* Section start */
 678         /* Enter section data lookup state */
 679         if (SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW) {
 680                 yy_push_state(ST_SECTION_RAW);
 681         } else {
 682                 yy_push_state(ST_SECTION_VALUE);
 683         }
 684         return TC_SECTION;
 685 }
 686 #line 687 "Zend/zend_ini_scanner.c"
 687 yy24:
 688                 YYDEBUG(24, *YYCURSOR);
 689                 ++YYCURSOR;
 690                 YYFILL(1);
 691                 yych = *YYCURSOR;
 692 yy25:
 693                 YYDEBUG(25, *YYCURSOR);
 694                 if (yybm[0+yych] & 16) {
 695                         goto yy24;
 696                 }
 697                 if (yych == '[') goto yy27;
 698                 goto yy3;
 699 yy26:
 700                 YYDEBUG(26, *YYCURSOR);
 701                 yych = *++YYCURSOR;
 702                 if (yych == 'S') goto yy30;
 703                 if (yych == 's') goto yy30;
 704                 goto yy25;
 705 yy27:
 706                 YYDEBUG(27, *YYCURSOR);
 707                 ++YYCURSOR;
 708                 YYFILL(1);
 709                 yych = *YYCURSOR;
 710                 YYDEBUG(28, *YYCURSOR);
 711                 if (yybm[0+yych] & 32) {
 712                         goto yy27;
 713                 }
 714                 YYDEBUG(29, *YYCURSOR);
 715                 yyleng = YYCURSOR - SCNG(yy_text);
 716 #line 431 "Zend/zend_ini_scanner.l"
 717                 { /* Start of option with offset */
 718         /* Eat leading whitespace */
 719         EAT_LEADING_WHITESPACE();
 720 
 721         /* Eat trailing whitespace and [ */
 722         EAT_TRAILING_WHITESPACE_EX('[');
 723 
 724         /* Enter offset lookup state */
 725         yy_push_state(ST_OFFSET);
 726 
 727         RETURN_TOKEN(TC_OFFSET, yytext, yyleng);
 728 }
 729 #line 730 "Zend/zend_ini_scanner.c"
 730 yy30:
 731                 YYDEBUG(30, *YYCURSOR);
 732                 ++YYCURSOR;
 733                 YYFILL(1);
 734                 yych = *YYCURSOR;
 735                 YYDEBUG(31, *YYCURSOR);
 736                 if (yybm[0+yych] & 64) {
 737                         goto yy30;
 738                 }
 739                 if (yych <= '\'') {
 740                         if (yych <= ' ') {
 741                                 if (yych <= '\n') {
 742                                         if (yych <= 0x08) goto yy24;
 743                                         if (yych <= '\t') goto yy33;
 744                                 } else {
 745                                         if (yych != '\r') goto yy24;
 746                                 }
 747                         } else {
 748                                 if (yych <= '$') {
 749                                         if (yych == '#') goto yy24;
 750                                 } else {
 751                                         if (yych != '&') goto yy24;
 752                                 }
 753                         }
 754                 } else {
 755                         if (yych <= 'Z') {
 756                                 if (yych <= ';') {
 757                                         if (yych <= ')') goto yy32;
 758                                         if (yych <= ':') goto yy24;
 759                                 } else {
 760                                         if (yych != '=') goto yy24;
 761                                 }
 762                         } else {
 763                                 if (yych <= '^') {
 764                                         if (yych <= '[') goto yy27;
 765                                         if (yych <= ']') goto yy24;
 766                                 } else {
 767                                         if (yych <= 'z') goto yy24;
 768                                         if (yych >= 0x7F) goto yy24;
 769                                 }
 770                         }
 771                 }
 772 yy32:
 773                 YYDEBUG(32, *YYCURSOR);
 774                 yyleng = YYCURSOR - SCNG(yy_text);
 775 #line 469 "Zend/zend_ini_scanner.l"
 776                 { /* TRUE value (when used outside option value/offset this causes parse error!) */
 777         RETURN_TOKEN(BOOL_TRUE, "1", 1);
 778 }
 779 #line 780 "Zend/zend_ini_scanner.c"
 780 yy33:
 781                 YYDEBUG(33, *YYCURSOR);
 782                 ++YYCURSOR;
 783                 YYFILL(1);
 784                 yych = *YYCURSOR;
 785                 YYDEBUG(34, *YYCURSOR);
 786                 if (yych == '\t') goto yy33;
 787                 if (yych == ' ') goto yy33;
 788                 goto yy32;
 789 yy35:
 790                 YYDEBUG(35, *YYCURSOR);
 791                 yych = *++YYCURSOR;
 792                 if (yych == 'U') goto yy36;
 793                 if (yych != 'u') goto yy25;
 794 yy36:
 795                 YYDEBUG(36, *YYCURSOR);
 796                 yych = *++YYCURSOR;
 797                 if (yych == 'E') goto yy30;
 798                 if (yych == 'e') goto yy30;
 799                 goto yy25;
 800 yy37:
 801                 YYDEBUG(37, *YYCURSOR);
 802                 yych = *++YYCURSOR;
 803                 if (yych == 'F') goto yy38;
 804                 if (yych != 'f') goto yy25;
 805 yy38:
 806                 YYDEBUG(38, *YYCURSOR);
 807                 ++YYCURSOR;
 808                 YYFILL(1);
 809                 yych = *YYCURSOR;
 810                 YYDEBUG(39, *YYCURSOR);
 811                 if (yych <= '&') {
 812                         if (yych <= 0x1F) {
 813                                 if (yych <= '\n') {
 814                                         if (yych <= 0x08) goto yy24;
 815                                         if (yych <= '\t') goto yy41;
 816                                 } else {
 817                                         if (yych != '\r') goto yy24;
 818                                 }
 819                         } else {
 820                                 if (yych <= '#') {
 821                                         if (yych <= ' ') goto yy38;
 822                                         if (yych >= '#') goto yy24;
 823                                 } else {
 824                                         if (yych == '%') goto yy24;
 825                                 }
 826                         }
 827                 } else {
 828                         if (yych <= '=') {
 829                                 if (yych <= ':') {
 830                                         if (yych <= '\'') goto yy24;
 831                                         if (yych >= '*') goto yy24;
 832                                 } else {
 833                                         if (yych == '<') goto yy24;
 834                                 }
 835                         } else {
 836                                 if (yych <= ']') {
 837                                         if (yych == '[') goto yy27;
 838                                         goto yy24;
 839                                 } else {
 840                                         if (yych <= '^') goto yy40;
 841                                         if (yych <= 'z') goto yy24;
 842                                         if (yych >= 0x7F) goto yy24;
 843                                 }
 844                         }
 845                 }
 846 yy40:
 847                 YYDEBUG(40, *YYCURSOR);
 848                 yyleng = YYCURSOR - SCNG(yy_text);
 849 #line 473 "Zend/zend_ini_scanner.l"
 850                 { /* FALSE value (when used outside option value/offset this causes parse error!)*/
 851         RETURN_TOKEN(BOOL_FALSE, "", 0);
 852 }
 853 #line 854 "Zend/zend_ini_scanner.c"
 854 yy41:
 855                 YYDEBUG(41, *YYCURSOR);
 856                 ++YYCURSOR;
 857                 YYFILL(1);
 858                 yych = *YYCURSOR;
 859                 YYDEBUG(42, *YYCURSOR);
 860                 if (yych == '\t') goto yy41;
 861                 if (yych == ' ') goto yy41;
 862                 goto yy40;
 863 yy43:
 864                 YYDEBUG(43, *YYCURSOR);
 865                 yych = *++YYCURSOR;
 866                 if (yych <= '\'') {
 867                         if (yych <= 0x1F) {
 868                                 if (yych <= '\n') {
 869                                         if (yych <= 0x08) goto yy25;
 870                                         if (yych <= '\t') goto yy41;
 871                                         goto yy40;
 872                                 } else {
 873                                         if (yych == '\r') goto yy40;
 874                                         goto yy25;
 875                                 }
 876                         } else {
 877                                 if (yych <= '#') {
 878                                         if (yych <= ' ') goto yy38;
 879                                         if (yych <= '"') goto yy40;
 880                                         goto yy25;
 881                                 } else {
 882                                         if (yych == '%') goto yy25;
 883                                         if (yych <= '&') goto yy40;
 884                                         goto yy25;
 885                                 }
 886                         }
 887                 } else {
 888                         if (yych <= 'N') {
 889                                 if (yych <= ';') {
 890                                         if (yych <= ')') goto yy40;
 891                                         if (yych <= ':') goto yy25;
 892                                         goto yy40;
 893                                 } else {
 894                                         if (yych == '=') goto yy40;
 895                                         if (yych <= 'M') goto yy25;
 896                                         goto yy51;
 897                                 }
 898                         } else {
 899                                 if (yych <= 'm') {
 900                                         if (yych == '^') goto yy40;
 901                                         goto yy25;
 902                                 } else {
 903                                         if (yych <= 'n') goto yy51;
 904                                         if (yych <= 'z') goto yy25;
 905                                         if (yych <= '~') goto yy40;
 906                                         goto yy25;
 907                                 }
 908                         }
 909                 }
 910 yy44:
 911                 YYDEBUG(44, *YYCURSOR);
 912                 yych = *++YYCURSOR;
 913                 if (yych == 'L') goto yy45;
 914                 if (yych != 'l') goto yy25;
 915 yy45:
 916                 YYDEBUG(45, *YYCURSOR);
 917                 yych = *++YYCURSOR;
 918                 if (yych == 'L') goto yy46;
 919                 if (yych != 'l') goto yy25;
 920 yy46:
 921                 YYDEBUG(46, *YYCURSOR);
 922                 ++YYCURSOR;
 923                 YYFILL(1);
 924                 yych = *YYCURSOR;
 925                 YYDEBUG(47, *YYCURSOR);
 926                 if (yych <= '&') {
 927                         if (yych <= 0x1F) {
 928                                 if (yych <= '\n') {
 929                                         if (yych <= 0x08) goto yy24;
 930                                         if (yych <= '\t') goto yy49;
 931                                 } else {
 932                                         if (yych != '\r') goto yy24;
 933                                 }
 934                         } else {
 935                                 if (yych <= '#') {
 936                                         if (yych <= ' ') goto yy46;
 937                                         if (yych >= '#') goto yy24;
 938                                 } else {
 939                                         if (yych == '%') goto yy24;
 940                                 }
 941                         }
 942                 } else {
 943                         if (yych <= '=') {
 944                                 if (yych <= ':') {
 945                                         if (yych <= '\'') goto yy24;
 946                                         if (yych >= '*') goto yy24;
 947                                 } else {
 948                                         if (yych == '<') goto yy24;
 949                                 }
 950                         } else {
 951                                 if (yych <= ']') {
 952                                         if (yych == '[') goto yy27;
 953                                         goto yy24;
 954                                 } else {
 955                                         if (yych <= '^') goto yy48;
 956                                         if (yych <= 'z') goto yy24;
 957                                         if (yych >= 0x7F) goto yy24;
 958                                 }
 959                         }
 960                 }
 961 yy48:
 962                 YYDEBUG(48, *YYCURSOR);
 963                 yyleng = YYCURSOR - SCNG(yy_text);
 964 #line 477 "Zend/zend_ini_scanner.l"
 965                 {
 966         RETURN_TOKEN(NULL_NULL, "", 0);
 967 }
 968 #line 969 "Zend/zend_ini_scanner.c"
 969 yy49:
 970                 YYDEBUG(49, *YYCURSOR);
 971                 ++YYCURSOR;
 972                 YYFILL(1);
 973                 yych = *YYCURSOR;
 974                 YYDEBUG(50, *YYCURSOR);
 975                 if (yych == '\t') goto yy49;
 976                 if (yych == ' ') goto yy49;
 977                 goto yy48;
 978 yy51:
 979                 YYDEBUG(51, *YYCURSOR);
 980                 yych = *++YYCURSOR;
 981                 if (yych == 'E') goto yy38;
 982                 if (yych == 'e') goto yy38;
 983                 goto yy25;
 984 yy52:
 985                 YYDEBUG(52, *YYCURSOR);
 986                 yych = *++YYCURSOR;
 987                 if (yych == 'L') goto yy53;
 988                 if (yych != 'l') goto yy25;
 989 yy53:
 990                 YYDEBUG(53, *YYCURSOR);
 991                 yych = *++YYCURSOR;
 992                 if (yych == 'S') goto yy54;
 993                 if (yych != 's') goto yy25;
 994 yy54:
 995                 YYDEBUG(54, *YYCURSOR);
 996                 yych = *++YYCURSOR;
 997                 if (yych == 'E') goto yy38;
 998                 if (yych == 'e') goto yy38;
 999                 goto yy25;
1000 yy55:
1001                 YYDEBUG(55, *YYCURSOR);
1002                 ++YYCURSOR;
1003                 YYFILL(1);
1004                 yych = *YYCURSOR;
1005 yy56:
1006                 YYDEBUG(56, *YYCURSOR);
1007                 if (yych == '\t') goto yy55;
1008                 if (yych == ' ') goto yy55;
1009                 goto yy16;
1010 yy57:
1011                 YYDEBUG(57, *YYCURSOR);
1012                 ++YYCURSOR;
1013                 YYFILL(2);
1014                 yych = *YYCURSOR;
1015 yy58:
1016                 YYDEBUG(58, *YYCURSOR);
1017                 if (yybm[0+yych] & 128) {
1018                         goto yy57;
1019                 }
1020                 if (yych >= '\r') goto yy61;
1021 yy59:
1022                 YYDEBUG(59, *YYCURSOR);
1023                 ++YYCURSOR;
1024 yy60:
1025                 YYDEBUG(60, *YYCURSOR);
1026                 yyleng = YYCURSOR - SCNG(yy_text);
1027 #line 637 "Zend/zend_ini_scanner.l"
1028                 { /* Comment */
1029         BEGIN(INITIAL);
1030         SCNG(lineno)++;
1031         return END_OF_LINE;
1032 }
1033 #line 1034 "Zend/zend_ini_scanner.c"
1034 yy61:
1035                 YYDEBUG(61, *YYCURSOR);
1036                 yych = *++YYCURSOR;
1037                 if (yych == '\n') goto yy59;
1038                 goto yy60;
1039 yy62:
1040                 YYDEBUG(62, *YYCURSOR);
1041                 yyaccept = 0;
1042                 YYMARKER = ++YYCURSOR;
1043                 YYFILL(2);
1044                 yych = *YYCURSOR;
1045 yy63:
1046                 YYDEBUG(63, *YYCURSOR);
1047                 if (yych <= 0x1F) {
1048                         if (yych <= '\n') {
1049                                 if (yych <= 0x08) goto yy5;
1050                                 if (yych <= '\t') goto yy62;
1051                                 goto yy66;
1052                         } else {
1053                                 if (yych == '\r') goto yy67;
1054                                 goto yy5;
1055                         }
1056                 } else {
1057                         if (yych <= ';') {
1058                                 if (yych <= ' ') goto yy62;
1059                                 if (yych <= ':') goto yy5;
1060                                 goto yy57;
1061                         } else {
1062                                 if (yych == '=') goto yy55;
1063                                 goto yy5;
1064                         }
1065                 }
1066 yy64:
1067                 YYDEBUG(64, *YYCURSOR);
1068                 yyaccept = 1;
1069                 YYMARKER = ++YYCURSOR;
1070                 YYFILL(2);
1071                 yych = *YYCURSOR;
1072                 YYDEBUG(65, *YYCURSOR);
1073                 if (yych <= '&') {
1074                         if (yych <= 0x1F) {
1075                                 if (yych <= '\n') {
1076                                         if (yych <= 0x08) goto yy24;
1077                                         if (yych <= '\t') goto yy62;
1078                                 } else {
1079                                         if (yych == '\r') goto yy67;
1080                                         goto yy24;
1081                                 }
1082                         } else {
1083                                 if (yych <= '#') {
1084                                         if (yych <= ' ') goto yy64;
1085                                         if (yych <= '"') goto yy3;
1086                                         goto yy24;
1087                                 } else {
1088                                         if (yych == '%') goto yy24;
1089                                         goto yy3;
1090                                 }
1091                         }
1092                 } else {
1093                         if (yych <= '=') {
1094                                 if (yych <= ':') {
1095                                         if (yych <= '\'') goto yy24;
1096                                         if (yych <= ')') goto yy3;
1097                                         goto yy24;
1098                                 } else {
1099                                         if (yych <= ';') goto yy57;
1100                                         if (yych <= '<') goto yy24;
1101                                         goto yy55;
1102                                 }
1103                         } else {
1104                                 if (yych <= ']') {
1105                                         if (yych == '[') goto yy27;
1106                                         goto yy24;
1107                                 } else {
1108                                         if (yych <= '^') goto yy3;
1109                                         if (yych <= 'z') goto yy24;
1110                                         if (yych <= '~') goto yy3;
1111                                         goto yy24;
1112                                 }
1113                         }
1114                 }
1115 yy66:
1116                 YYDEBUG(66, *YYCURSOR);
1117                 yych = *++YYCURSOR;
1118                 goto yy7;
1119 yy67:
1120                 YYDEBUG(67, *YYCURSOR);
1121                 ++YYCURSOR;
1122                 if ((yych = *YYCURSOR) == '\n') goto yy66;
1123                 goto yy7;
1124         }
1125 /* *********************************** */
1126 yyc_ST_DOUBLE_QUOTES:
1127         {
1128                 static const unsigned char yybm[] = {
1129                           0,   0,   0,   0,   0,   0,   0,   0, 
1130                           0, 128,   0,   0,   0,   0,   0,   0, 
1131                           0,   0,   0,   0,   0,   0,   0,   0, 
1132                           0,   0,   0,   0,   0,   0,   0,   0, 
1133                         128,   0,   0,   0,   0,   0,   0,   0, 
1134                           0,   0,   0,   0,   0,   0,   0,   0, 
1135                           0,   0,   0,   0,   0,   0,   0,   0, 
1136                           0,   0,   0,   0,   0,   0,   0,   0, 
1137                           0,   0,   0,   0,   0,   0,   0,   0, 
1138                           0,   0,   0,   0,   0,   0,   0,   0, 
1139                           0,   0,   0,   0,   0,   0,   0,   0, 
1140                           0,   0,   0,   0,   0,   0,   0,   0, 
1141                           0,   0,   0,   0,   0,   0,   0,   0, 
1142                           0,   0,   0,   0,   0,   0,   0,   0, 
1143                           0,   0,   0,   0,   0,   0,   0,   0, 
1144                           0,   0,   0,   0,   0,   0,   0,   0, 
1145                           0,   0,   0,   0,   0,   0,   0,   0, 
1146                           0,   0,   0,   0,   0,   0,   0,   0, 
1147                           0,   0,   0,   0,   0,   0,   0,   0, 
1148                           0,   0,   0,   0,   0,   0,   0,   0, 
1149                           0,   0,   0,   0,   0,   0,   0,   0, 
1150                           0,   0,   0,   0,   0,   0,   0,   0, 
1151                           0,   0,   0,   0,   0,   0,   0,   0, 
1152                           0,   0,   0,   0,   0,   0,   0,   0, 
1153                           0,   0,   0,   0,   0,   0,   0,   0, 
1154                           0,   0,   0,   0,   0,   0,   0,   0, 
1155                           0,   0,   0,   0,   0,   0,   0,   0, 
1156                           0,   0,   0,   0,   0,   0,   0,   0, 
1157                           0,   0,   0,   0,   0,   0,   0,   0, 
1158                           0,   0,   0,   0,   0,   0,   0,   0, 
1159                           0,   0,   0,   0,   0,   0,   0,   0, 
1160                           0,   0,   0,   0,   0,   0,   0,   0, 
1161                 };
1162                 YYDEBUG(68, *YYCURSOR);
1163                 YYFILL(2);
1164                 yych = *YYCURSOR;
1165                 if (yych == '"') goto yy72;
1166                 if (yych == '$') goto yy74;
1167                 YYDEBUG(70, *YYCURSOR);
1168                 ++YYCURSOR;
1169 yy71:
1170                 YYDEBUG(71, *YYCURSOR);
1171                 yyleng = YYCURSOR - SCNG(yy_text);
1172 #line 587 "Zend/zend_ini_scanner.l"
1173                 { /* Escape double quoted string contents */
1174         if (YYCURSOR > YYLIMIT) {
1175                 return 0;
1176         }
1177 
1178         while (YYCURSOR < YYLIMIT) {
1179                 switch (*YYCURSOR++) {
1180                         case '"':
1181                                 if (YYCURSOR < YYLIMIT && YYCURSOR[-2] == '\\' && *YYCURSOR != '\r' && *YYCURSOR != '\n') {
1182                                         continue;
1183                                 }
1184                                 break;
1185                         case '$':
1186                                 if (*YYCURSOR == '{') {
1187                                         break;
1188                                 }
1189                                 continue;
1190                         case '\\':
1191                                 if (YYCURSOR < YYLIMIT && *YYCURSOR != '"') {
1192                                         YYCURSOR++;
1193                                 }
1194                                 /* fall through */
1195                         default:
1196                                 continue;
1197                 }
1198 
1199                 YYCURSOR--;
1200                 break;
1201         }
1202 
1203         yyleng = YYCURSOR - SCNG(yy_text);
1204 
1205         zend_ini_escape_string(ini_lval, yytext, yyleng, '"');
1206         return TC_QUOTED_STRING;
1207 }
1208 #line 1209 "Zend/zend_ini_scanner.c"
1209 yy72:
1210                 YYDEBUG(72, *YYCURSOR);
1211                 ++YYCURSOR;
1212                 yych = *YYCURSOR;
1213                 goto yy78;
1214 yy73:
1215                 YYDEBUG(73, *YYCURSOR);
1216                 yyleng = YYCURSOR - SCNG(yy_text);
1217 #line 582 "Zend/zend_ini_scanner.l"
1218                 { /* Double quoted '"' string ends */
1219         yy_pop_state();
1220         return '"';
1221 }
1222 #line 1223 "Zend/zend_ini_scanner.c"
1223 yy74:
1224                 YYDEBUG(74, *YYCURSOR);
1225                 yych = *++YYCURSOR;
1226                 if (yych != '{') goto yy71;
1227                 YYDEBUG(75, *YYCURSOR);
1228                 ++YYCURSOR;
1229                 YYDEBUG(76, *YYCURSOR);
1230                 yyleng = YYCURSOR - SCNG(yy_text);
1231 #line 449 "Zend/zend_ini_scanner.l"
1232                 { /* Variable start */
1233         yy_push_state(ST_VARNAME);
1234         return TC_DOLLAR_CURLY;
1235 }
1236 #line 1237 "Zend/zend_ini_scanner.c"
1237 yy77:
1238                 YYDEBUG(77, *YYCURSOR);
1239                 ++YYCURSOR;
1240                 YYFILL(1);
1241                 yych = *YYCURSOR;
1242 yy78:
1243                 YYDEBUG(78, *YYCURSOR);
1244                 if (yybm[0+yych] & 128) {
1245                         goto yy77;
1246                 }
1247                 goto yy73;
1248         }
1249 /* *********************************** */
1250 yyc_ST_OFFSET:
1251         {
1252                 static const unsigned char yybm[] = {
1253                          66,  66,  66,  66,  66,  66,  66,  66, 
1254                          66, 194,  64,  66,  66,  64,  66,  66, 
1255                          66,  66,  66,  66,  66,  66,  66,  66, 
1256                          66,  66,  66,  66,  66,  66,  66,  66, 
1257                         194,  66,  64,  66,  68,  66,  66,   0, 
1258                          66,  66,  66,  66,  66,  66,  66,  66, 
1259                         114, 114, 114, 114, 114, 114, 114, 114, 
1260                         114, 114,  66,  64,  66,  66,  66,  66, 
1261                          66,  82,  82,  82,  82,  82,  82,  82, 
1262                          82,  82,  82,  82,  82,  82,  82,  82, 
1263                          82,  82,  82,  82,  82,  82,  82,  82, 
1264                          82,  82,  82,  66,  72,  64,  66,  82, 
1265                          66,  82,  82,  82,  82,  82,  82,  82, 
1266                          82,  82,  82,  82,  82,  82,  82,  82, 
1267                          82,  82,  82,  82,  82,  82,  82,  82, 
1268                          82,  82,  82,  66,  66,  66,  66,  66, 
1269                          66,  66,  66,  66,  66,  66,  66,  66, 
1270                          66,  66,  66,  66,  66,  66,  66,  66, 
1271                          66,  66,  66,  66,  66,  66,  66,  66, 
1272                          66,  66,  66,  66,  66,  66,  66,  66, 
1273                          66,  66,  66,  66,  66,  66,  66,  66, 
1274                          66,  66,  66,  66,  66,  66,  66,  66, 
1275                          66,  66,  66,  66,  66,  66,  66,  66, 
1276                          66,  66,  66,  66,  66,  66,  66,  66, 
1277                          66,  66,  66,  66,  66,  66,  66,  66, 
1278                          66,  66,  66,  66,  66,  66,  66,  66, 
1279                          66,  66,  66,  66,  66,  66,  66,  66, 
1280                          66,  66,  66,  66,  66,  66,  66,  66, 
1281                          66,  66,  66,  66,  66,  66,  66,  66, 
1282                          66,  66,  66,  66,  66,  66,  66,  66, 
1283                          66,  66,  66,  66,  66,  66,  66,  66, 
1284                          66,  66,  66,  66,  66,  66,  66,  66, 
1285                 };
1286                 YYDEBUG(79, *YYCURSOR);
1287                 YYFILL(2);
1288                 yych = *YYCURSOR;
1289                 if (yych <= '-') {
1290                         if (yych <= ' ') {
1291                                 if (yych <= '\n') {
1292                                         if (yych <= 0x08) goto yy81;
1293                                         if (yych <= '\t') goto yy83;
1294                                         goto yy84;
1295                                 } else {
1296                                         if (yych == '\r') goto yy84;
1297                                         if (yych >= ' ') goto yy83;
1298                                 }
1299                         } else {
1300                                 if (yych <= '$') {
1301                                         if (yych == '"') goto yy86;
1302                                         if (yych >= '$') goto yy88;
1303                                 } else {
1304                                         if (yych == '\'') goto yy89;
1305                                         if (yych >= '-') goto yy90;
1306                                 }
1307                         }
1308                 } else {
1309                         if (yych <= 'Z') {
1310                                 if (yych <= '9') {
1311                                         if (yych <= '.') goto yy91;
1312                                         if (yych >= '0') goto yy92;
1313                                 } else {
1314                                         if (yych == ';') goto yy84;
1315                                         if (yych >= 'A') goto yy94;
1316                                 }
1317                         } else {
1318                                 if (yych <= '^') {
1319                                         if (yych <= '[') goto yy81;
1320                                         if (yych <= '\\') goto yy96;
1321                                         if (yych <= ']') goto yy97;
1322                                 } else {
1323                                         if (yych == '`') goto yy81;
1324                                         if (yych <= 'z') goto yy94;
1325                                 }
1326                         }
1327                 }
1328 yy81:
1329                 YYDEBUG(81, *YYCURSOR);
1330                 yyaccept = 0;
1331                 yych = *(YYMARKER = ++YYCURSOR);
1332                 goto yy100;
1333 yy82:
1334                 YYDEBUG(82, *YYCURSOR);
1335                 yyleng = YYCURSOR - SCNG(yy_text);
1336 #line 573 "Zend/zend_ini_scanner.l"
1337                 { /* Get rest as section/offset value */
1338         RETURN_TOKEN(TC_STRING, yytext, yyleng);
1339 }
1340 #line 1341 "Zend/zend_ini_scanner.c"
1341 yy83:
1342                 YYDEBUG(83, *YYCURSOR);
1343                 yyaccept = 0;
1344                 yych = *(YYMARKER = ++YYCURSOR);
1345                 if (yybm[0+yych] & 128) {
1346                         goto yy126;
1347                 }
1348                 if (yych == '"') goto yy128;
1349                 if (yych == ']') goto yy129;
1350                 goto yy100;
1351 yy84:
1352                 YYDEBUG(84, *YYCURSOR);
1353                 ++YYCURSOR;
1354 yy85:
1355                 YYDEBUG(85, *YYCURSOR);
1356                 yyleng = YYCURSOR - SCNG(yy_text);
1357 #line 648 "Zend/zend_ini_scanner.l"
1358                 {
1359         return 0;
1360 }
1361 #line 1362 "Zend/zend_ini_scanner.c"
1362 yy86:
1363                 YYDEBUG(86, *YYCURSOR);
1364                 ++YYCURSOR;
1365 yy87:
1366                 YYDEBUG(87, *YYCURSOR);
1367                 yyleng = YYCURSOR - SCNG(yy_text);
1368 #line 577 "Zend/zend_ini_scanner.l"
1369                 { /* Double quoted '"' string start */
1370         yy_push_state(ST_DOUBLE_QUOTES);
1371         return '"';
1372 }
1373 #line 1374 "Zend/zend_ini_scanner.c"
1374 yy88:
1375                 YYDEBUG(88, *YYCURSOR);
1376                 yych = *++YYCURSOR;
1377                 if (yych <= '\\') {
1378                         if (yych <= 0x00) goto yy85;
1379                         if (yych <= '[') goto yy99;
1380                         goto yy104;
1381                 } else {
1382                         if (yych == '{') goto yy124;
1383                         goto yy99;
1384                 }
1385 yy89:
1386                 YYDEBUG(89, *YYCURSOR);
1387                 yyaccept = 1;
1388                 yych = *(YYMARKER = ++YYCURSOR);
1389                 if (yybm[0+yych] & 64) {
1390                         goto yy120;
1391                 }
1392                 goto yy85;
1393 yy90:
1394                 YYDEBUG(90, *YYCURSOR);
1395                 yyaccept = 0;
1396                 yych = *(YYMARKER = ++YYCURSOR);
1397                 if (yych <= '/') goto yy100;
1398                 if (yych <= '9') goto yy118;
1399                 goto yy100;
1400 yy91:
1401                 YYDEBUG(91, *YYCURSOR);
1402                 yyaccept = 0;
1403                 yych = *(YYMARKER = ++YYCURSOR);
1404                 if (yych <= '/') goto yy100;
1405                 if (yych <= '9') goto yy116;
1406                 goto yy100;
1407 yy92:
1408                 YYDEBUG(92, *YYCURSOR);
1409                 yyaccept = 2;
1410                 yych = *(YYMARKER = ++YYCURSOR);
1411                 if (yych <= '\'') {
1412                         if (yych <= '\r') {
1413                                 if (yych == '\n') goto yy93;
1414                                 if (yych <= '\f') goto yy100;
1415                         } else {
1416                                 if (yych == '"') goto yy93;
1417                                 if (yych <= '&') goto yy100;
1418                         }
1419                 } else {
1420                         if (yych <= '9') {
1421                                 if (yych == '.') goto yy112;
1422                                 if (yych <= '/') goto yy100;
1423                                 goto yy114;
1424                         } else {
1425                                 if (yych <= ';') {
1426                                         if (yych <= ':') goto yy100;
1427                                 } else {
1428                                         if (yych != ']') goto yy100;
1429                                 }
1430                         }
1431                 }
1432 yy93:
1433                 YYDEBUG(93, *YYCURSOR);
1434                 yyleng = YYCURSOR - SCNG(yy_text);
1435 #line 551 "Zend/zend_ini_scanner.l"
1436                 { /* Get number option value as string */
1437         RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
1438 }
1439 #line 1440 "Zend/zend_ini_scanner.c"
1440 yy94:
1441                 YYDEBUG(94, *YYCURSOR);
1442                 yyaccept = 3;
1443                 yych = *(YYMARKER = ++YYCURSOR);
1444                 if (yybm[0+yych] & 16) {
1445                         goto yy110;
1446                 }
1447                 if (yych <= '"') {
1448                         if (yych <= '\f') {
1449                                 if (yych != '\n') goto yy100;
1450                         } else {
1451                                 if (yych <= '\r') goto yy95;
1452                                 if (yych <= '!') goto yy100;
1453                         }
1454                 } else {
1455                         if (yych <= ':') {
1456                                 if (yych != '\'') goto yy100;
1457                         } else {
1458                                 if (yych <= ';') goto yy95;
1459                                 if (yych != ']') goto yy100;
1460                         }
1461                 }
1462 yy95:
1463                 YYDEBUG(95, *YYCURSOR);
1464                 yyleng = YYCURSOR - SCNG(yy_text);
1465 #line 547 "Zend/zend_ini_scanner.l"
1466                 { /* Get constant option value */
1467         RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
1468 }
1469 #line 1470 "Zend/zend_ini_scanner.c"
1470 yy96:
1471                 YYDEBUG(96, *YYCURSOR);
1472                 yych = *++YYCURSOR;
1473                 goto yy99;
1474 yy97:
1475                 YYDEBUG(97, *YYCURSOR);
1476                 ++YYCURSOR;
1477 yy98:
1478                 YYDEBUG(98, *YYCURSOR);
1479                 yyleng = YYCURSOR - SCNG(yy_text);
1480 #line 444 "Zend/zend_ini_scanner.l"
1481                 { /* End of section or an option offset */
1482         BEGIN(INITIAL);
1483         return ']';
1484 }
1485 #line 1486 "Zend/zend_ini_scanner.c"
1486 yy99:
1487                 YYDEBUG(99, *YYCURSOR);
1488                 yyaccept = 0;
1489                 YYMARKER = ++YYCURSOR;
1490                 YYFILL(1);
1491                 yych = *YYCURSOR;
1492 yy100:
1493                 YYDEBUG(100, *YYCURSOR);
1494                 if (yybm[0+yych] & 2) {
1495                         goto yy99;
1496                 }
1497                 if (yych == '$') goto yy102;
1498                 if (yych != '\\') goto yy82;
1499 yy101:
1500                 YYDEBUG(101, *YYCURSOR);
1501                 ++YYCURSOR;
1502                 YYFILL(1);
1503                 yych = *YYCURSOR;
1504                 goto yy99;
1505 yy102:
1506                 YYDEBUG(102, *YYCURSOR);
1507                 ++YYCURSOR;
1508                 YYFILL(1);
1509                 yych = *YYCURSOR;
1510                 if (yych <= '\\') {
1511                         if (yych <= 0x00) goto yy103;
1512                         if (yych <= '[') goto yy99;
1513                         goto yy104;
1514                 } else {
1515                         if (yych != '{') goto yy99;
1516                 }
1517 yy103:
1518                 YYDEBUG(103, *YYCURSOR);
1519                 YYCURSOR = YYMARKER;
1520                 if (yyaccept <= 1) {
1521                         if (yyaccept <= 0) {
1522                                 goto yy82;
1523                         } else {
1524                                 goto yy85;
1525                         }
1526                 } else {
1527                         if (yyaccept <= 2) {
1528                                 goto yy93;
1529                         } else {
1530                                 goto yy95;
1531                         }
1532                 }
1533 yy104:
1534                 YYDEBUG(104, *YYCURSOR);
1535                 ++YYCURSOR;
1536                 YYFILL(1);
1537                 yych = *YYCURSOR;
1538                 if (yybm[0+yych] & 4) {
1539                         goto yy105;
1540                 }
1541                 if (yych == '\\') goto yy107;
1542                 goto yy99;
1543 yy105:
1544                 YYDEBUG(105, *YYCURSOR);
1545                 ++YYCURSOR;
1546                 YYFILL(1);
1547                 yych = *YYCURSOR;
1548                 YYDEBUG(106, *YYCURSOR);
1549                 if (yybm[0+yych] & 4) {
1550                         goto yy105;
1551                 }
1552                 if (yych == '\\') goto yy109;
1553                 goto yy99;
1554 yy107:
1555                 YYDEBUG(107, *YYCURSOR);
1556                 ++YYCURSOR;
1557                 YYFILL(1);
1558                 yych = *YYCURSOR;
1559                 YYDEBUG(108, *YYCURSOR);
1560                 if (yybm[0+yych] & 4) {
1561                         goto yy105;
1562                 }
1563                 if (yych == '\\') goto yy107;
1564                 goto yy99;
1565 yy109:
1566                 YYDEBUG(109, *YYCURSOR);
1567                 ++YYCURSOR;
1568                 YYFILL(1);
1569                 yych = *YYCURSOR;
1570                 if (yybm[0+yych] & 4) {
1571                         goto yy105;
1572                 }
1573                 if (yych == '\\') goto yy107;
1574                 goto yy99;
1575 yy110:
1576                 YYDEBUG(110, *YYCURSOR);
1577                 yyaccept = 3;
1578                 YYMARKER = ++YYCURSOR;
1579                 YYFILL(1);
1580                 yych = *YYCURSOR;
1581                 YYDEBUG(111, *YYCURSOR);
1582                 if (yybm[0+yych] & 16) {
1583                         goto yy110;
1584                 }
1585                 if (yych <= '$') {
1586                         if (yych <= '\r') {
1587                                 if (yych == '\n') goto yy95;
1588                                 if (yych <= '\f') goto yy99;
1589                                 goto yy95;
1590                         } else {
1591                                 if (yych == '"') goto yy95;
1592                                 if (yych <= '#') goto yy99;
1593                                 goto yy102;
1594                         }
1595                 } else {
1596                         if (yych <= ';') {
1597                                 if (yych == '\'') goto yy95;
1598                                 if (yych <= ':') goto yy99;
1599                                 goto yy95;
1600                         } else {
1601                                 if (yych <= '[') goto yy99;
1602                                 if (yych <= '\\') goto yy101;
1603                                 if (yych <= ']') goto yy95;
1604                                 goto yy99;
1605                         }
1606                 }
1607 yy112:
1608                 YYDEBUG(112, *YYCURSOR);
1609                 yyaccept = 2;
1610                 YYMARKER = ++YYCURSOR;
1611                 YYFILL(1);
1612                 yych = *YYCURSOR;
1613                 YYDEBUG(113, *YYCURSOR);
1614                 if (yybm[0+yych] & 32) {
1615                         goto yy112;
1616                 }
1617                 if (yych <= '$') {
1618                         if (yych <= '\r') {
1619                                 if (yych == '\n') goto yy93;
1620                                 if (yych <= '\f') goto yy99;
1621                                 goto yy93;
1622                         } else {
1623                                 if (yych == '"') goto yy93;
1624                                 if (yych <= '#') goto yy99;
1625                                 goto yy102;
1626                         }
1627                 } else {
1628                         if (yych <= ';') {
1629                                 if (yych == '\'') goto yy93;
1630                                 if (yych <= ':') goto yy99;
1631                                 goto yy93;
1632                         } else {
1633                                 if (yych <= '[') goto yy99;
1634                                 if (yych <= '\\') goto yy101;
1635                                 if (yych <= ']') goto yy93;
1636                                 goto yy99;
1637                         }
1638                 }
1639 yy114:
1640                 YYDEBUG(114, *YYCURSOR);
1641                 yyaccept = 2;
1642                 YYMARKER = ++YYCURSOR;
1643                 YYFILL(1);
1644                 yych = *YYCURSOR;
1645                 YYDEBUG(115, *YYCURSOR);
1646                 if (yych <= '\'') {
1647                         if (yych <= '!') {
1648                                 if (yych <= '\n') {
1649                                         if (yych <= '\t') goto yy99;
1650                                         goto yy93;
1651                                 } else {
1652                                         if (yych == '\r') goto yy93;
1653                                         goto yy99;
1654                                 }
1655                         } else {
1656                                 if (yych <= '#') {
1657                                         if (yych <= '"') goto yy93;
1658                                         goto yy99;
1659                                 } else {
1660                                         if (yych <= '$') goto yy102;
1661                                         if (yych <= '&') goto yy99;
1662                                         goto yy93;
1663                                 }
1664                         }
1665                 } else {
1666                         if (yych <= ':') {
1667                                 if (yych <= '.') {
1668                                         if (yych <= '-') goto yy99;
1669                                         goto yy112;
1670                                 } else {
1671                                         if (yych <= '/') goto yy99;
1672                                         if (yych <= '9') goto yy114;
1673                                         goto yy99;
1674                                 }
1675                         } else {
1676                                 if (yych <= '[') {
1677                                         if (yych <= ';') goto yy93;
1678                                         goto yy99;
1679                                 } else {
1680                                         if (yych <= '\\') goto yy101;
1681                                         if (yych <= ']') goto yy93;
1682                                         goto yy99;
1683                                 }
1684                         }
1685                 }
1686 yy116:
1687                 YYDEBUG(116, *YYCURSOR);
1688                 yyaccept = 2;
1689                 YYMARKER = ++YYCURSOR;
1690                 YYFILL(1);
1691                 yych = *YYCURSOR;
1692                 YYDEBUG(117, *YYCURSOR);
1693                 if (yych <= '&') {
1694                         if (yych <= '\r') {
1695                                 if (yych == '\n') goto yy93;
1696                                 if (yych <= '\f') goto yy99;
1697                                 goto yy93;
1698                         } else {
1699                                 if (yych <= '"') {
1700                                         if (yych <= '!') goto yy99;
1701                                         goto yy93;
1702                                 } else {
1703                                         if (yych == '$') goto yy102;
1704                                         goto yy99;
1705                                 }
1706                         }
1707                 } else {
1708                         if (yych <= ':') {
1709                                 if (yych <= '\'') goto yy93;
1710                                 if (yych <= '/') goto yy99;
1711                                 if (yych <= '9') goto yy116;
1712                                 goto yy99;
1713                         } else {
1714                                 if (yych <= '[') {
1715                                         if (yych <= ';') goto yy93;
1716                                         goto yy99;
1717                                 } else {
1718                                         if (yych <= '\\') goto yy101;
1719                                         if (yych <= ']') goto yy93;
1720                                         goto yy99;
1721                                 }
1722                         }
1723                 }
1724 yy118:
1725                 YYDEBUG(118, *YYCURSOR);
1726                 yyaccept = 2;
1727                 YYMARKER = ++YYCURSOR;
1728                 YYFILL(1);
1729                 yych = *YYCURSOR;
1730                 YYDEBUG(119, *YYCURSOR);
1731                 if (yych <= '&') {
1732                         if (yych <= '\r') {
1733                                 if (yych == '\n') goto yy93;
1734                                 if (yych <= '\f') goto yy99;
1735                                 goto yy93;
1736                         } else {
1737                                 if (yych <= '"') {
1738                                         if (yych <= '!') goto yy99;
1739                                         goto yy93;
1740                                 } else {
1741                                         if (yych == '$') goto yy102;
1742                                         goto yy99;
1743                                 }
1744                         }
1745                 } else {
1746                         if (yych <= ':') {
1747                                 if (yych <= '\'') goto yy93;
1748                                 if (yych <= '/') goto yy99;
1749                                 if (yych <= '9') goto yy118;
1750                                 goto yy99;
1751                         } else {
1752                                 if (yych <= '[') {
1753                                         if (yych <= ';') goto yy93;
1754                                         goto yy99;
1755                                 } else {
1756                                         if (yych <= '\\') goto yy101;
1757                                         if (yych <= ']') goto yy93;
1758                                         goto yy99;
1759                                 }
1760                         }
1761                 }
1762 yy120:
1763                 YYDEBUG(120, *YYCURSOR);
1764                 ++YYCURSOR;
1765                 YYFILL(1);
1766                 yych = *YYCURSOR;
1767                 YYDEBUG(121, *YYCURSOR);
1768                 if (yybm[0+yych] & 64) {
1769                         goto yy120;
1770                 }
1771                 YYDEBUG(122, *YYCURSOR);
1772                 ++YYCURSOR;
1773                 YYDEBUG(123, *YYCURSOR);
1774                 yyleng = YYCURSOR - SCNG(yy_text);
1775 #line 416 "Zend/zend_ini_scanner.l"
1776                 { /* Raw string */
1777         /* Eat leading and trailing single quotes */
1778         if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
1779                 SCNG(yy_text)++;
1780                 yyleng = yyleng - 2;
1781         }
1782         RETURN_TOKEN(TC_RAW, yytext, yyleng);
1783 }
1784 #line 1785 "Zend/zend_ini_scanner.c"
1785 yy124:
1786                 YYDEBUG(124, *YYCURSOR);
1787                 ++YYCURSOR;
1788                 YYDEBUG(125, *YYCURSOR);
1789                 yyleng = YYCURSOR - SCNG(yy_text);
1790 #line 449 "Zend/zend_ini_scanner.l"
1791                 { /* Variable start */
1792         yy_push_state(ST_VARNAME);
1793         return TC_DOLLAR_CURLY;
1794 }
1795 #line 1796 "Zend/zend_ini_scanner.c"
1796 yy126:
1797                 YYDEBUG(126, *YYCURSOR);
1798                 yyaccept = 0;
1799                 YYMARKER = ++YYCURSOR;
1800                 YYFILL(1);
1801                 yych = *YYCURSOR;
1802                 YYDEBUG(127, *YYCURSOR);
1803                 if (yybm[0+yych] & 128) {
1804                         goto yy126;
1805                 }
1806                 if (yych <= '$') {
1807                         if (yych <= '\r') {
1808                                 if (yych == '\n') goto yy82;
1809                                 if (yych <= '\f') goto yy99;
1810                                 goto yy82;
1811                         } else {
1812                                 if (yych == '"') goto yy128;
1813                                 if (yych <= '#') goto yy99;
1814                                 goto yy102;
1815                         }
1816                 } else {
1817                         if (yych <= ';') {
1818                                 if (yych == '\'') goto yy82;
1819                                 if (yych <= ':') goto yy99;
1820                                 goto yy82;
1821                         } else {
1822                                 if (yych <= '[') goto yy99;
1823                                 if (yych <= '\\') goto yy101;
1824                                 if (yych <= ']') goto yy129;
1825                                 goto yy99;
1826                         }
1827                 }
1828 yy128:
1829                 YYDEBUG(128, *YYCURSOR);
1830                 yych = *++YYCURSOR;
1831                 goto yy87;
1832 yy129:
1833                 YYDEBUG(129, *YYCURSOR);
1834                 ++YYCURSOR;
1835                 yych = *YYCURSOR;
1836                 goto yy98;
1837         }
1838 /* *********************************** */
1839 yyc_ST_RAW:
1840         {
1841                 static const unsigned char yybm[] = {
1842                          64,  64,  64,  64,  64,  64,  64,  64, 
1843                          64, 192,   0,  64,  64,   0,  64,  64, 
1844                          64,  64,  64,  64,  64,  64,  64,  64, 
1845                          64,  64,  64,  64,  64,  64,  64,  64, 
1846                         192,  64,  64,  64,  64,  64,  64,  64, 
1847                          64,  64,  64,  64,  64,  64,  64,  64, 
1848                          64,  64,  64,  64,  64,  64,  64,  64, 
1849                          64,  64,  64,  64,  64,  64,  64,  64, 
1850                          64,  64,  64,  64,  64,  64,  64,  64, 
1851                          64,  64,  64,  64,  64,  64,  64,  64, 
1852                          64,  64,  64,  64,  64,  64,  64,  64, 
1853                          64,  64,  64,  64,  64,  64,  64,  64, 
1854                          64,  64,  64,  64,  64,  64,  64,  64, 
1855                          64,  64,  64,  64,  64,  64,  64,  64, 
1856                          64,  64,  64,  64,  64,  64,  64,  64, 
1857                          64,  64,  64,  64,  64,  64,  64,  64, 
1858                          64,  64,  64,  64,  64,  64,  64,  64, 
1859                          64,  64,  64,  64,  64,  64,  64,  64, 
1860                          64,  64,  64,  64,  64,  64,  64,  64, 
1861                          64,  64,  64,  64,  64,  64,  64,  64, 
1862                          64,  64,  64,  64,  64,  64,  64,  64, 
1863                          64,  64,  64,  64,  64,  64,  64,  64, 
1864                          64,  64,  64,  64,  64,  64,  64,  64, 
1865                          64,  64,  64,  64,  64,  64,  64,  64, 
1866                          64,  64,  64,  64,  64,  64,  64,  64, 
1867                          64,  64,  64,  64,  64,  64,  64,  64, 
1868                          64,  64,  64,  64,  64,  64,  64,  64, 
1869                          64,  64,  64,  64,  64,  64,  64,  64, 
1870                          64,  64,  64,  64,  64,  64,  64,  64, 
1871                          64,  64,  64,  64,  64,  64,  64,  64, 
1872                          64,  64,  64,  64,  64,  64,  64,  64, 
1873                          64,  64,  64,  64,  64,  64,  64,  64, 
1874                 };
1875                 YYDEBUG(130, *YYCURSOR);
1876                 YYFILL(3);
1877                 yych = *YYCURSOR;
1878                 if (yych <= '\f') {
1879                         if (yych <= 0x08) {
1880                                 if (yych >= 0x01) goto yy134;
1881                         } else {
1882                                 if (yych <= '\t') goto yy136;
1883                                 if (yych <= '\n') goto yy137;
1884                                 goto yy134;
1885                         }
1886                 } else {
1887                         if (yych <= ' ') {
1888                                 if (yych <= '\r') goto yy139;
1889                                 if (yych <= 0x1F) goto yy134;
1890                                 goto yy136;
1891                         } else {
1892                                 if (yych == ';') goto yy140;
1893                                 goto yy134;
1894                         }
1895                 }
1896                 YYDEBUG(132, *YYCURSOR);
1897                 ++YYCURSOR;
1898                 YYDEBUG(133, *YYCURSOR);
1899                 yyleng = YYCURSOR - SCNG(yy_text);
1900 #line 643 "Zend/zend_ini_scanner.l"
1901                 { /* End of option value (if EOF is reached before EOL */
1902         BEGIN(INITIAL);
1903         return END_OF_LINE;
1904 }
1905 #line 1906 "Zend/zend_ini_scanner.c"
1906 yy134:
1907                 YYDEBUG(134, *YYCURSOR);
1908                 ++YYCURSOR;
1909 yy135:
1910                 YYDEBUG(135, *YYCURSOR);
1911                 yyleng = YYCURSOR - SCNG(yy_text);
1912 #line 500 "Zend/zend_ini_scanner.l"
1913                 { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
1914         unsigned char *sc = NULL;
1915         while (YYCURSOR < YYLIMIT) {
1916                 switch (*YYCURSOR) {
1917                         case '\n':
1918                         case '\r':
1919                                 goto end_raw_value_chars;
1920                                 break;
1921                         case ';':
1922                                 if (sc == NULL) {
1923                                         sc = YYCURSOR;
1924                                 }
1925                                 /* no break */
1926                         default:
1927                                 YYCURSOR++;
1928                                 break;
1929                 }
1930         }
1931 end_raw_value_chars:
1932         yyleng = YYCURSOR - SCNG(yy_text);
1933 
1934         /* Eat trailing semicolons */
1935         while (yytext[yyleng - 1] == ';') {
1936                 yyleng--;
1937         }
1938 
1939         /* Eat leading and trailing double quotes */
1940         if (yyleng > 1 && yytext[0] == '"' && yytext[yyleng - 1] == '"') {
1941                 SCNG(yy_text)++;
1942                 yyleng = yyleng - 2;
1943         } else if (sc) {
1944                 YYCURSOR = sc;
1945                 yyleng = YYCURSOR - SCNG(yy_text);
1946         }
1947         RETURN_TOKEN(TC_RAW, yytext, yyleng);
1948 }
1949 #line 1950 "Zend/zend_ini_scanner.c"
1950 yy136:
1951                 YYDEBUG(136, *YYCURSOR);
1952                 yyaccept = 0;
1953                 yych = *(YYMARKER = ++YYCURSOR);
1954                 if (yych <= '\r') {
1955                         if (yych <= 0x08) goto yy135;
1956                         if (yych <= '\n') goto yy148;
1957                         if (yych <= '\f') goto yy135;
1958                         goto yy148;
1959                 } else {
1960                         if (yych <= ' ') {
1961                                 if (yych <= 0x1F) goto yy135;
1962                                 goto yy148;
1963                         } else {
1964                                 if (yych == ';') goto yy148;
1965                                 goto yy135;
1966                         }
1967                 }
1968 yy137:
1969                 YYDEBUG(137, *YYCURSOR);
1970                 ++YYCURSOR;
1971 yy138:
1972                 YYDEBUG(138, *YYCURSOR);
1973                 yyleng = YYCURSOR - SCNG(yy_text);
1974 #line 541 "Zend/zend_ini_scanner.l"
1975                 { /* End of option value */
1976         BEGIN(INITIAL);
1977         SCNG(lineno)++;
1978         return END_OF_LINE;
1979 }
1980 #line 1981 "Zend/zend_ini_scanner.c"
1981 yy139:
1982                 YYDEBUG(139, *YYCURSOR);
1983                 yych = *++YYCURSOR;
1984                 if (yych == '\n') goto yy146;
1985                 goto yy138;
1986 yy140:
1987                 YYDEBUG(140, *YYCURSOR);
1988                 yyaccept = 1;
1989                 yych = *(YYMARKER = ++YYCURSOR);
1990                 goto yy142;
1991 yy141:
1992                 YYDEBUG(141, *YYCURSOR);
1993                 ++YYCURSOR;
1994                 YYFILL(2);
1995                 yych = *YYCURSOR;
1996 yy142:
1997                 YYDEBUG(142, *YYCURSOR);
1998                 if (yybm[0+yych] & 64) {
1999                         goto yy141;
2000                 }
2001                 if (yych >= '\r') goto yy145;
2002 yy143:
2003                 YYDEBUG(143, *YYCURSOR);
2004                 ++YYCURSOR;
2005 yy144:
2006                 YYDEBUG(144, *YYCURSOR);
2007                 yyleng = YYCURSOR - SCNG(yy_text);
2008 #line 637 "Zend/zend_ini_scanner.l"
2009                 { /* Comment */
2010         BEGIN(INITIAL);
2011         SCNG(lineno)++;
2012         return END_OF_LINE;
2013 }
2014 #line 2015 "Zend/zend_ini_scanner.c"
2015 yy145:
2016                 YYDEBUG(145, *YYCURSOR);
2017                 yych = *++YYCURSOR;
2018                 if (yych == '\n') goto yy143;
2019                 goto yy144;
2020 yy146:
2021                 YYDEBUG(146, *YYCURSOR);
2022                 yych = *++YYCURSOR;
2023                 goto yy138;
2024 yy147:
2025                 YYDEBUG(147, *YYCURSOR);
2026                 yyaccept = 2;
2027                 YYMARKER = ++YYCURSOR;
2028                 YYFILL(2);
2029                 yych = *YYCURSOR;
2030 yy148:
2031                 YYDEBUG(148, *YYCURSOR);
2032                 if (yybm[0+yych] & 128) {
2033                         goto yy147;
2034                 }
2035                 if (yych <= '\f') {
2036                         if (yych == '\n') goto yy146;
2037                 } else {
2038                         if (yych <= '\r') goto yy150;
2039                         if (yych == ';') goto yy141;
2040                 }
2041                 YYDEBUG(149, *YYCURSOR);
2042                 yyleng = YYCURSOR - SCNG(yy_text);
2043 #line 627 "Zend/zend_ini_scanner.l"
2044                 {
2045         /* eat whitespace */
2046         goto restart;
2047 }
2048 #line 2049 "Zend/zend_ini_scanner.c"
2049 yy150:
2050                 YYDEBUG(150, *YYCURSOR);
2051                 ++YYCURSOR;
2052                 if ((yych = *YYCURSOR) == '\n') goto yy146;
2053                 goto yy138;
2054         }
2055 /* *********************************** */
2056 yyc_ST_SECTION_RAW:
2057         {
2058                 static const unsigned char yybm[] = {
2059                         128, 128, 128, 128, 128, 128, 128, 128, 
2060                         128, 192,   0, 128, 128,   0, 128, 128, 
2061                         128, 128, 128, 128, 128, 128, 128, 128, 
2062                         128, 128, 128, 128, 128, 128, 128, 128, 
2063                         192, 128, 128, 128, 128, 128, 128, 128, 
2064                         128, 128, 128, 128, 128, 128, 128, 128, 
2065                         128, 128, 128, 128, 128, 128, 128, 128, 
2066                         128, 128, 128, 128, 128, 128, 128, 128, 
2067                         128, 128, 128, 128, 128, 128, 128, 128, 
2068                         128, 128, 128, 128, 128, 128, 128, 128, 
2069                         128, 128, 128, 128, 128, 128, 128, 128, 
2070                         128, 128, 128, 128, 128,   0, 128, 128, 
2071                         128, 128, 128, 128, 128, 128, 128, 128, 
2072                         128, 128, 128, 128, 128, 128, 128, 128, 
2073                         128, 128, 128, 128, 128, 128, 128, 128, 
2074                         128, 128, 128, 128, 128, 128, 128, 128, 
2075                         128, 128, 128, 128, 128, 128, 128, 128, 
2076                         128, 128, 128, 128, 128, 128, 128, 128, 
2077                         128, 128, 128, 128, 128, 128, 128, 128, 
2078                         128, 128, 128, 128, 128, 128, 128, 128, 
2079                         128, 128, 128, 128, 128, 128, 128, 128, 
2080                         128, 128, 128, 128, 128, 128, 128, 128, 
2081                         128, 128, 128, 128, 128, 128, 128, 128, 
2082                         128, 128, 128, 128, 128, 128, 128, 128, 
2083                         128, 128, 128, 128, 128, 128, 128, 128, 
2084                         128, 128, 128, 128, 128, 128, 128, 128, 
2085                         128, 128, 128, 128, 128, 128, 128, 128, 
2086                         128, 128, 128, 128, 128, 128, 128, 128, 
2087                         128, 128, 128, 128, 128, 128, 128, 128, 
2088                         128, 128, 128, 128, 128, 128, 128, 128, 
2089                         128, 128, 128, 128, 128, 128, 128, 128, 
2090                         128, 128, 128, 128, 128, 128, 128, 128, 
2091                 };
2092                 YYDEBUG(151, *YYCURSOR);
2093                 YYFILL(3);
2094                 yych = *YYCURSOR;
2095                 if (yych <= '\f') {
2096                         if (yych == '\n') goto yy155;
2097                 } else {
2098                         if (yych <= '\r') goto yy155;
2099                         if (yych == ']') goto yy157;
2100                 }
2101                 YYDEBUG(153, *YYCURSOR);
2102                 ++YYCURSOR;
2103                 yych = *YYCURSOR;
2104                 goto yy164;
2105 yy154:
2106                 YYDEBUG(154, *YYCURSOR);
2107                 yyleng = YYCURSOR - SCNG(yy_text);
2108 #line 537 "Zend/zend_ini_scanner.l"
2109                 { /* Raw value, only used when SCNG(scanner_mode) == ZEND_INI_SCANNER_RAW. */
2110         RETURN_TOKEN(TC_RAW, yytext, yyleng);
2111 }
2112 #line 2113 "Zend/zend_ini_scanner.c"
2113 yy155:
2114                 YYDEBUG(155, *YYCURSOR);
2115                 ++YYCURSOR;
2116                 YYDEBUG(156, *YYCURSOR);
2117                 yyleng = YYCURSOR - SCNG(yy_text);
2118 #line 648 "Zend/zend_ini_scanner.l"
2119                 {
2120         return 0;
2121 }
2122 #line 2123 "Zend/zend_ini_scanner.c"
2123 yy157:
2124                 YYDEBUG(157, *YYCURSOR);
2125                 ++YYCURSOR;
2126                 yych = *YYCURSOR;
2127                 goto yy160;
2128 yy158:
2129                 YYDEBUG(158, *YYCURSOR);
2130                 yyleng = YYCURSOR - SCNG(yy_text);
2131 #line 425 "Zend/zend_ini_scanner.l"
2132                 { /* End of section */
2133         BEGIN(INITIAL);
2134         SCNG(lineno)++;
2135         return ']';
2136 }
2137 #line 2138 "Zend/zend_ini_scanner.c"
2138 yy159:
2139                 YYDEBUG(159, *YYCURSOR);
2140                 ++YYCURSOR;
2141                 YYFILL(2);
2142                 yych = *YYCURSOR;
2143 yy160:
2144                 YYDEBUG(160, *YYCURSOR);
2145                 if (yybm[0+yych] & 64) {
2146                         goto yy159;
2147                 }
2148                 if (yych == '\n') goto yy161;
2149                 if (yych == '\r') goto yy162;
2150                 goto yy158;
2151 yy161:
2152                 YYDEBUG(161, *YYCURSOR);
2153                 yych = *++YYCURSOR;
2154                 goto yy158;
2155 yy162:
2156                 YYDEBUG(162, *YYCURSOR);
2157                 yych = *++YYCURSOR;
2158                 if (yych == '\n') goto yy161;
2159                 goto yy158;
2160 yy163:
2161                 YYDEBUG(163, *YYCURSOR);
2162                 ++YYCURSOR;
2163                 YYFILL(1);
2164                 yych = *YYCURSOR;
2165 yy164:
2166                 YYDEBUG(164, *YYCURSOR);
2167                 if (yybm[0+yych] & 128) {
2168                         goto yy163;
2169                 }
2170                 goto yy154;
2171         }
2172 /* *********************************** */
2173 yyc_ST_SECTION_VALUE:
2174         {
2175                 static const unsigned char yybm[] = {
2176                         132, 132, 132, 132, 132, 132, 132, 132, 
2177                         132, 134, 128, 132, 132, 128, 132, 132, 
2178                         132, 132, 132, 132, 132, 132, 132, 132, 
2179                         132, 132, 132, 132, 132, 132, 132, 132, 
2180                         134, 132, 128, 132, 136, 132, 132,   0, 
2181                         132, 132, 132, 132, 132, 132, 132, 132, 
2182                         228, 228, 228, 228, 228, 228, 228, 228, 
2183                         228, 228, 132, 128, 132, 132, 132, 132, 
2184                         132, 164, 164, 164, 164, 164, 164, 164, 
2185                         164, 164, 164, 164, 164, 164, 164, 164, 
2186                         164, 164, 164, 164, 164, 164, 164, 164, 
2187                         164, 164, 164, 132, 144, 128, 132, 164, 
2188                         132, 164, 164, 164, 164, 164, 164, 164, 
2189                         164, 164, 164, 164, 164, 164, 164, 164, 
2190                         164, 164, 164, 164, 164, 164, 164, 164, 
2191                         164, 164, 164, 132, 132, 132, 132, 132, 
2192                         132, 132, 132, 132, 132, 132, 132, 132, 
2193                         132, 132, 132, 132, 132, 132, 132, 132, 
2194                         132, 132, 132, 132, 132, 132, 132, 132, 
2195                         132, 132, 132, 132, 132, 132, 132, 132, 
2196                         132, 132, 132, 132, 132, 132, 132, 132, 
2197                         132, 132, 132, 132, 132, 132, 132, 132, 
2198                         132, 132, 132, 132, 132, 132, 132, 132, 
2199                         132, 132, 132, 132, 132, 132, 132, 132, 
2200                         132, 132, 132, 132, 132, 132, 132, 132, 
2201                         132, 132, 132, 132, 132, 132, 132, 132, 
2202                         132, 132, 132, 132, 132, 132, 132, 132, 
2203                         132, 132, 132, 132, 132, 132, 132, 132, 
2204                         132, 132, 132, 132, 132, 132, 132, 132, 
2205                         132, 132, 132, 132, 132, 132, 132, 132, 
2206                         132, 132, 132, 132, 132, 132, 132, 132, 
2207                         132, 132, 132, 132, 132, 132, 132, 132, 
2208                 };
2209                 YYDEBUG(165, *YYCURSOR);
2210                 YYFILL(3);
2211                 yych = *YYCURSOR;
2212                 if (yych <= '-') {
2213                         if (yych <= ' ') {
2214                                 if (yych <= '\n') {
2215                                         if (yych <= 0x08) goto yy167;
2216                                         if (yych <= '\t') goto yy169;
2217                                         goto yy170;
2218                                 } else {
2219                                         if (yych == '\r') goto yy170;
2220                                         if (yych >= ' ') goto yy169;
2221                                 }
2222                         } else {
2223                                 if (yych <= '$') {
2224                                         if (yych == '"') goto yy172;
2225                                         if (yych >= '$') goto yy174;
2226                                 } else {
2227                                         if (yych == '\'') goto yy175;
2228                                         if (yych >= '-') goto yy176;
2229                                 }
2230                         }
2231                 } else {
2232                         if (yych <= 'Z') {
2233                                 if (yych <= '9') {
2234                                         if (yych <= '.') goto yy177;
2235                                         if (yych >= '0') goto yy178;
2236                                 } else {
2237                                         if (yych == ';') goto yy170;
2238                                         if (yych >= 'A') goto yy180;
2239                                 }
2240                         } else {
2241                                 if (yych <= '^') {
2242                                         if (yych <= '[') goto yy167;
2243                                         if (yych <= '\\') goto yy182;
2244                                         if (yych <= ']') goto yy183;
2245                                 } else {
2246                                         if (yych == '`') goto yy167;
2247                                         if (yych <= 'z') goto yy180;
2248                                 }
2249                         }
2250                 }
2251 yy167:
2252                 YYDEBUG(167, *YYCURSOR);
2253                 yyaccept = 0;
2254                 yych = *(YYMARKER = ++YYCURSOR);
2255                 goto yy190;
2256 yy168:
2257                 YYDEBUG(168, *YYCURSOR);
2258                 yyleng = YYCURSOR - SCNG(yy_text);
2259 #line 573 "Zend/zend_ini_scanner.l"
2260                 { /* Get rest as section/offset value */
2261         RETURN_TOKEN(TC_STRING, yytext, yyleng);
2262 }
2263 #line 2264 "Zend/zend_ini_scanner.c"
2264 yy169:
2265                 YYDEBUG(169, *YYCURSOR);
2266                 yyaccept = 0;
2267                 yych = *(YYMARKER = ++YYCURSOR);
2268                 if (yych <= 0x1F) {
2269                         if (yych == '\t') goto yy216;
2270                         goto yy190;
2271                 } else {
2272                         if (yych <= ' ') goto yy216;
2273                         if (yych == '"') goto yy218;
2274                         goto yy190;
2275                 }
2276 yy170:
2277                 YYDEBUG(170, *YYCURSOR);
2278                 ++YYCURSOR;
2279 yy171:
2280                 YYDEBUG(171, *YYCURSOR);
2281                 yyleng = YYCURSOR - SCNG(yy_text);
2282 #line 648 "Zend/zend_ini_scanner.l"
2283                 {
2284         return 0;
2285 }
2286 #line 2287 "Zend/zend_ini_scanner.c"
2287 yy172:
2288                 YYDEBUG(172, *YYCURSOR);
2289                 ++YYCURSOR;
2290 yy173:
2291                 YYDEBUG(173, *YYCURSOR);
2292                 yyleng = YYCURSOR - SCNG(yy_text);
2293 #line 577 "Zend/zend_ini_scanner.l"
2294                 { /* Double quoted '"' string start */
2295         yy_push_state(ST_DOUBLE_QUOTES);
2296         return '"';
2297 }
2298 #line 2299 "Zend/zend_ini_scanner.c"
2299 yy174:
2300                 YYDEBUG(174, *YYCURSOR);
2301                 yych = *++YYCURSOR;
2302                 if (yych <= '\\') {
2303                         if (yych <= 0x00) goto yy171;
2304                         if (yych <= '[') goto yy189;
2305                         goto yy194;
2306                 } else {
2307                         if (yych == '{') goto yy214;
2308                         goto yy189;
2309                 }
2310 yy175:
2311                 YYDEBUG(175, *YYCURSOR);
2312                 yyaccept = 1;
2313                 yych = *(YYMARKER = ++YYCURSOR);
2314                 if (yybm[0+yych] & 128) {
2315                         goto yy210;
2316                 }
2317                 goto yy171;
2318 yy176:
2319                 YYDEBUG(176, *YYCURSOR);
2320                 yyaccept = 0;
2321                 yych = *(YYMARKER = ++YYCURSOR);
2322                 if (yych <= '/') goto yy190;
2323                 if (yych <= '9') goto yy208;
2324                 goto yy190;
2325 yy177:
2326                 YYDEBUG(177, *YYCURSOR);
2327                 yyaccept = 0;
2328                 yych = *(YYMARKER = ++YYCURSOR);
2329                 if (yych <= '/') goto yy190;
2330                 if (yych <= '9') goto yy206;
2331                 goto yy190;
2332 yy178:
2333                 YYDEBUG(178, *YYCURSOR);
2334                 yyaccept = 2;
2335                 yych = *(YYMARKER = ++YYCURSOR);
2336                 if (yych <= '\'') {
2337                         if (yych <= '\r') {
2338                                 if (yych == '\n') goto yy179;
2339                                 if (yych <= '\f') goto yy190;
2340                         } else {
2341                                 if (yych == '"') goto yy179;
2342                                 if (yych <= '&') goto yy190;
2343                         }
2344                 } else {
2345                         if (yych <= '9') {
2346                                 if (yych == '.') goto yy202;
2347                                 if (yych <= '/') goto yy190;
2348                                 goto yy204;
2349                         } else {
2350                                 if (yych <= ';') {
2351                                         if (yych <= ':') goto yy190;
2352                                 } else {
2353                                         if (yych != ']') goto yy190;
2354                                 }
2355                         }
2356                 }
2357 yy179:
2358                 YYDEBUG(179, *YYCURSOR);
2359                 yyleng = YYCURSOR - SCNG(yy_text);
2360 #line 551 "Zend/zend_ini_scanner.l"
2361                 { /* Get number option value as string */
2362         RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
2363 }
2364 #line 2365 "Zend/zend_ini_scanner.c"
2365 yy180:
2366                 YYDEBUG(180, *YYCURSOR);
2367                 yyaccept = 3;
2368                 yych = *(YYMARKER = ++YYCURSOR);
2369                 if (yybm[0+yych] & 32) {
2370                         goto yy200;
2371                 }
2372                 if (yych <= '"') {
2373                         if (yych <= '\f') {
2374                                 if (yych != '\n') goto yy190;
2375                         } else {
2376                                 if (yych <= '\r') goto yy181;
2377                                 if (yych <= '!') goto yy190;
2378                         }
2379                 } else {
2380                         if (yych <= ':') {
2381                                 if (yych != '\'') goto yy190;
2382                         } else {
2383                                 if (yych <= ';') goto yy181;
2384                                 if (yych != ']') goto yy190;
2385                         }
2386                 }
2387 yy181:
2388                 YYDEBUG(181, *YYCURSOR);
2389                 yyleng = YYCURSOR - SCNG(yy_text);
2390 #line 547 "Zend/zend_ini_scanner.l"
2391                 { /* Get constant option value */
2392         RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
2393 }
2394 #line 2395 "Zend/zend_ini_scanner.c"
2395 yy182:
2396                 YYDEBUG(182, *YYCURSOR);
2397                 yych = *++YYCURSOR;
2398                 goto yy189;
2399 yy183:
2400                 YYDEBUG(183, *YYCURSOR);
2401                 ++YYCURSOR;
2402                 yych = *YYCURSOR;
2403                 goto yy186;
2404 yy184:
2405                 YYDEBUG(184, *YYCURSOR);
2406                 yyleng = YYCURSOR - SCNG(yy_text);
2407 #line 425 "Zend/zend_ini_scanner.l"
2408                 { /* End of section */
2409         BEGIN(INITIAL);
2410         SCNG(lineno)++;
2411         return ']';
2412 }
2413 #line 2414 "Zend/zend_ini_scanner.c"
2414 yy185:
2415                 YYDEBUG(185, *YYCURSOR);
2416                 ++YYCURSOR;
2417                 YYFILL(2);
2418                 yych = *YYCURSOR;
2419 yy186:
2420                 YYDEBUG(186, *YYCURSOR);
2421                 if (yybm[0+yych] & 2) {
2422                         goto yy185;
2423                 }
2424                 if (yych == '\n') goto yy187;
2425                 if (yych == '\r') goto yy188;
2426                 goto yy184;
2427 yy187:
2428                 YYDEBUG(187, *YYCURSOR);
2429                 yych = *++YYCURSOR;
2430                 goto yy184;
2431 yy188:
2432                 YYDEBUG(188, *YYCURSOR);
2433                 yych = *++YYCURSOR;
2434                 if (yych == '\n') goto yy187;
2435                 goto yy184;
2436 yy189:
2437                 YYDEBUG(189, *YYCURSOR);
2438                 yyaccept = 0;
2439                 YYMARKER = ++YYCURSOR;
2440                 YYFILL(1);
2441                 yych = *YYCURSOR;
2442 yy190:
2443                 YYDEBUG(190, *YYCURSOR);
2444                 if (yybm[0+yych] & 4) {
2445                         goto yy189;
2446                 }
2447                 if (yych == '$') goto yy192;
2448                 if (yych != '\\') goto yy168;
2449 yy191:
2450                 YYDEBUG(191, *YYCURSOR);
2451                 ++YYCURSOR;
2452                 YYFILL(1);
2453                 yych = *YYCURSOR;
2454                 goto yy189;
2455 yy192:
2456                 YYDEBUG(192, *YYCURSOR);
2457                 ++YYCURSOR;
2458                 YYFILL(1);
2459                 yych = *YYCURSOR;
2460                 if (yych <= '\\') {
2461                         if (yych <= 0x00) goto yy193;
2462                         if (yych <= '[') goto yy189;
2463                         goto yy194;
2464                 } else {
2465                         if (yych != '{') goto yy189;
2466                 }
2467 yy193:
2468                 YYDEBUG(193, *YYCURSOR);
2469                 YYCURSOR = YYMARKER;
2470                 if (yyaccept <= 1) {
2471                         if (yyaccept <= 0) {
2472                                 goto yy168;
2473                         } else {
2474                                 goto yy171;
2475                         }
2476                 } else {
2477                         if (yyaccept <= 2) {
2478                                 goto yy179;
2479                         } else {
2480                                 goto yy181;
2481                         }
2482                 }
2483 yy194:
2484                 YYDEBUG(194, *YYCURSOR);
2485                 ++YYCURSOR;
2486                 YYFILL(1);
2487                 yych = *YYCURSOR;
2488                 if (yybm[0+yych] & 8) {
2489                         goto yy195;
2490                 }
2491                 if (yych == '\\') goto yy197;
2492                 goto yy189;
2493 yy195:
2494                 YYDEBUG(195, *YYCURSOR);
2495                 ++YYCURSOR;
2496                 YYFILL(1);
2497                 yych = *YYCURSOR;
2498                 YYDEBUG(196, *YYCURSOR);
2499                 if (yybm[0+yych] & 8) {
2500                         goto yy195;
2501                 }
2502                 if (yych == '\\') goto yy199;
2503                 goto yy189;
2504 yy197:
2505                 YYDEBUG(197, *YYCURSOR);
2506                 ++YYCURSOR;
2507                 YYFILL(1);
2508                 yych = *YYCURSOR;
2509                 YYDEBUG(198, *YYCURSOR);
2510                 if (yybm[0+yych] & 8) {
2511                         goto yy195;
2512                 }
2513                 if (yych == '\\') goto yy197;
2514                 goto yy189;
2515 yy199:
2516                 YYDEBUG(199, *YYCURSOR);
2517                 ++YYCURSOR;
2518                 YYFILL(1);
2519                 yych = *YYCURSOR;
2520                 if (yybm[0+yych] & 8) {
2521                         goto yy195;
2522                 }
2523                 if (yych == '\\') goto yy197;
2524                 goto yy189;
2525 yy200:
2526                 YYDEBUG(200, *YYCURSOR);
2527                 yyaccept = 3;
2528                 YYMARKER = ++YYCURSOR;
2529                 YYFILL(1);
2530                 yych = *YYCURSOR;
2531                 YYDEBUG(201, *YYCURSOR);
2532                 if (yybm[0+yych] & 32) {
2533                         goto yy200;
2534                 }
2535                 if (yych <= '$') {
2536                         if (yych <= '\r') {
2537                                 if (yych == '\n') goto yy181;
2538                                 if (yych <= '\f') goto yy189;
2539                                 goto yy181;
2540                         } else {
2541                                 if (yych == '"') goto yy181;
2542                                 if (yych <= '#') goto yy189;
2543                                 goto yy192;
2544                         }
2545                 } else {
2546                         if (yych <= ';') {
2547                                 if (yych == '\'') goto yy181;
2548                                 if (yych <= ':') goto yy189;
2549                                 goto yy181;
2550                         } else {
2551                                 if (yych <= '[') goto yy189;
2552                                 if (yych <= '\\') goto yy191;
2553                                 if (yych <= ']') goto yy181;
2554                                 goto yy189;
2555                         }
2556                 }
2557 yy202:
2558                 YYDEBUG(202, *YYCURSOR);
2559                 yyaccept = 2;
2560                 YYMARKER = ++YYCURSOR;
2561                 YYFILL(1);
2562                 yych = *YYCURSOR;
2563                 YYDEBUG(203, *YYCURSOR);
2564                 if (yybm[0+yych] & 64) {
2565                         goto yy202;
2566                 }
2567                 if (yych <= '$') {
2568                         if (yych <= '\r') {
2569                                 if (yych == '\n') goto yy179;
2570                                 if (yych <= '\f') goto yy189;
2571                                 goto yy179;
2572                         } else {
2573                                 if (yych == '"') goto yy179;
2574                                 if (yych <= '#') goto yy189;
2575                                 goto yy192;
2576                         }
2577                 } else {
2578                         if (yych <= ';') {
2579                                 if (yych == '\'') goto yy179;
2580                                 if (yych <= ':') goto yy189;
2581                                 goto yy179;
2582                         } else {
2583                                 if (yych <= '[') goto yy189;
2584                                 if (yych <= '\\') goto yy191;
2585                                 if (yych <= ']') goto yy179;
2586                                 goto yy189;
2587                         }
2588                 }
2589 yy204:
2590                 YYDEBUG(204, *YYCURSOR);
2591                 yyaccept = 2;
2592                 YYMARKER = ++YYCURSOR;
2593                 YYFILL(1);
2594                 yych = *YYCURSOR;
2595                 YYDEBUG(205, *YYCURSOR);
2596                 if (yych <= '\'') {
2597                         if (yych <= '!') {
2598                                 if (yych <= '\n') {
2599                                         if (yych <= '\t') goto yy189;
2600                                         goto yy179;
2601                                 } else {
2602                                         if (yych == '\r') goto yy179;
2603                                         goto yy189;
2604                                 }
2605                         } else {
2606                                 if (yych <= '#') {
2607                                         if (yych <= '"') goto yy179;
2608                                         goto yy189;
2609                                 } else {
2610                                         if (yych <= '$') goto yy192;
2611                                         if (yych <= '&') goto yy189;
2612                                         goto yy179;
2613                                 }
2614                         }
2615                 } else {
2616                         if (yych <= ':') {
2617                                 if (yych <= '.') {
2618                                         if (yych <= '-') goto yy189;
2619                                         goto yy202;
2620                                 } else {
2621                                         if (yych <= '/') goto yy189;
2622                                         if (yych <= '9') goto yy204;
2623                                         goto yy189;
2624                                 }
2625                         } else {
2626                                 if (yych <= '[') {
2627                                         if (yych <= ';') goto yy179;
2628                                         goto yy189;
2629                                 } else {
2630                                         if (yych <= '\\') goto yy191;
2631                                         if (yych <= ']') goto yy179;
2632                                         goto yy189;
2633                                 }
2634                         }
2635                 }
2636 yy206:
2637                 YYDEBUG(206, *YYCURSOR);
2638                 yyaccept = 2;
2639                 YYMARKER = ++YYCURSOR;
2640                 YYFILL(1);
2641                 yych = *YYCURSOR;
2642                 YYDEBUG(207, *YYCURSOR);
2643                 if (yych <= '&') {
2644                         if (yych <= '\r') {
2645                                 if (yych == '\n') goto yy179;
2646                                 if (yych <= '\f') goto yy189;
2647                                 goto yy179;
2648                         } else {
2649                                 if (yych <= '"') {
2650                                         if (yych <= '!') goto yy189;
2651                                         goto yy179;
2652                                 } else {
2653                                         if (yych == '$') goto yy192;
2654                                         goto yy189;
2655                                 }
2656                         }
2657                 } else {
2658                         if (yych <= ':') {
2659                                 if (yych <= '\'') goto yy179;
2660                                 if (yych <= '/') goto yy189;
2661                                 if (yych <= '9') goto yy206;
2662                                 goto yy189;
2663                         } else {
2664                                 if (yych <= '[') {
2665                                         if (yych <= ';') goto yy179;
2666                                         goto yy189;
2667                                 } else {
2668                                         if (yych <= '\\') goto yy191;
2669                                         if (yych <= ']') goto yy179;
2670                                         goto yy189;
2671                                 }
2672                         }
2673                 }
2674 yy208:
2675                 YYDEBUG(208, *YYCURSOR);
2676                 yyaccept = 2;
2677                 YYMARKER = ++YYCURSOR;
2678                 YYFILL(1);
2679                 yych = *YYCURSOR;
2680                 YYDEBUG(209, *YYCURSOR);
2681                 if (yych <= '&') {
2682                         if (yych <= '\r') {
2683                                 if (yych == '\n') goto yy179;
2684                                 if (yych <= '\f') goto yy189;
2685                                 goto yy179;
2686                         } else {
2687                                 if (yych <= '"') {
2688                                         if (yych <= '!') goto yy189;
2689                                         goto yy179;
2690                                 } else {
2691                                         if (yych == '$') goto yy192;
2692                                         goto yy189;
2693                                 }
2694                         }
2695                 } else {
2696                         if (yych <= ':') {
2697                                 if (yych <= '\'') goto yy179;
2698                                 if (yych <= '/') goto yy189;
2699                                 if (yych <= '9') goto yy208;
2700                                 goto yy189;
2701                         } else {
2702                                 if (yych <= '[') {
2703                                         if (yych <= ';') goto yy179;
2704                                         goto yy189;
2705                                 } else {
2706                                         if (yych <= '\\') goto yy191;
2707                                         if (yych <= ']') goto yy179;
2708                                         goto yy189;
2709                                 }
2710                         }
2711                 }
2712 yy210:
2713                 YYDEBUG(210, *YYCURSOR);
2714                 ++YYCURSOR;
2715                 YYFILL(1);
2716                 yych = *YYCURSOR;
2717                 YYDEBUG(211, *YYCURSOR);
2718                 if (yybm[0+yych] & 128) {
2719                         goto yy210;
2720                 }
2721                 YYDEBUG(212, *YYCURSOR);
2722                 ++YYCURSOR;
2723                 YYDEBUG(213, *YYCURSOR);
2724                 yyleng = YYCURSOR - SCNG(yy_text);
2725 #line 416 "Zend/zend_ini_scanner.l"
2726                 { /* Raw string */
2727         /* Eat leading and trailing single quotes */
2728         if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
2729                 SCNG(yy_text)++;
2730                 yyleng = yyleng - 2;
2731         }
2732         RETURN_TOKEN(TC_RAW, yytext, yyleng);
2733 }
2734 #line 2735 "Zend/zend_ini_scanner.c"
2735 yy214:
2736                 YYDEBUG(214, *YYCURSOR);
2737                 ++YYCURSOR;
2738                 YYDEBUG(215, *YYCURSOR);
2739                 yyleng = YYCURSOR - SCNG(yy_text);
2740 #line 449 "Zend/zend_ini_scanner.l"
2741                 { /* Variable start */
2742         yy_push_state(ST_VARNAME);
2743         return TC_DOLLAR_CURLY;
2744 }
2745 #line 2746 "Zend/zend_ini_scanner.c"
2746 yy216:
2747                 YYDEBUG(216, *YYCURSOR);
2748                 yyaccept = 0;
2749                 YYMARKER = ++YYCURSOR;
2750                 YYFILL(1);
2751                 yych = *YYCURSOR;
2752                 YYDEBUG(217, *YYCURSOR);
2753                 if (yych <= '"') {
2754                         if (yych <= '\f') {
2755                                 if (yych <= 0x08) goto yy189;
2756                                 if (yych <= '\t') goto yy216;
2757                                 if (yych <= '\n') goto yy168;
2758                                 goto yy189;
2759                         } else {
2760                                 if (yych <= 0x1F) {
2761                                         if (yych <= '\r') goto yy168;
2762                                         goto yy189;
2763                                 } else {
2764                                         if (yych <= ' ') goto yy216;
2765                                         if (yych <= '!') goto yy189;
2766                                 }
2767                         }
2768                 } else {
2769                         if (yych <= ':') {
2770                                 if (yych <= '$') {
2771                                         if (yych <= '#') goto yy189;
2772                                         goto yy192;
2773                                 } else {
2774                                         if (yych == '\'') goto yy168;
2775                                         goto yy189;
2776                                 }
2777                         } else {
2778                                 if (yych <= '[') {
2779                                         if (yych <= ';') goto yy168;
2780                                         goto yy189;
2781                                 } else {
2782                                         if (yych <= '\\') goto yy191;
2783                                         if (yych <= ']') goto yy168;
2784                                         goto yy189;
2785                                 }
2786                         }
2787                 }
2788 yy218:
2789                 YYDEBUG(218, *YYCURSOR);
2790                 ++YYCURSOR;
2791                 yych = *YYCURSOR;
2792                 goto yy173;
2793         }
2794 /* *********************************** */
2795 yyc_ST_VALUE:
2796         {
2797                 static const unsigned char yybm[] = {
2798                         160, 162, 162, 162, 162, 162, 162, 162, 
2799                         162, 176, 128, 162, 162, 128, 162, 162, 
2800                         162, 162, 162, 162, 162, 162, 162, 162, 
2801                         162, 162, 162, 162, 162, 162, 162, 162, 
2802                         176, 160, 160, 162, 168, 162, 160,  32, 
2803                         160, 160, 162, 162, 162, 162, 162, 162, 
2804                         230, 230, 230, 230, 230, 230, 230, 230, 
2805                         230, 230, 162, 160, 162, 160, 162, 162, 
2806                         162, 166, 166, 166, 166, 166, 166, 166, 
2807                         166, 166, 166, 166, 166, 166, 166, 166, 
2808                         166, 166, 166, 166, 166, 166, 166, 166, 
2809                         166, 166, 166, 162, 162, 162, 160, 166, 
2810                         162, 166, 166, 166, 166, 166, 166, 166, 
2811                         166, 166, 166, 166, 166, 166, 166, 166, 
2812                         166, 166, 166, 166, 166, 166, 166, 166, 
2813                         166, 166, 166, 162, 160, 162, 160, 162, 
2814                         162, 162, 162, 162, 162, 162, 162, 162, 
2815                         162, 162, 162, 162, 162, 162, 162, 162, 
2816                         162, 162, 162, 162, 162, 162, 162, 162, 
2817                         162, 162, 162, 162, 162, 162, 162, 162, 
2818                         162, 162, 162, 162, 162, 162, 162, 162, 
2819                         162, 162, 162, 162, 162, 162, 162, 162, 
2820                         162, 162, 162, 162, 162, 162, 162, 162, 
2821                         162, 162, 162, 162, 162, 162, 162, 162, 
2822                         162, 162, 162, 162, 162, 162, 162, 162, 
2823                         162, 162, 162, 162, 162, 162, 162, 162, 
2824                         162, 162, 162, 162, 162, 162, 162, 162, 
2825                         162, 162, 162, 162, 162, 162, 162, 162, 
2826                         162, 162, 162, 162, 162, 162, 162, 162, 
2827                         162, 162, 162, 162, 162, 162, 162, 162, 
2828                         162, 162, 162, 162, 162, 162, 162, 162, 
2829                         162, 162, 162, 162, 162, 162, 162, 162, 
2830                 };
2831                 YYDEBUG(219, *YYCURSOR);
2832                 YYFILL(6);
2833                 yych = *YYCURSOR;
2834                 YYDEBUG(-1, yych);
2835                 switch (yych) {
2836                 case 0x00:      goto yy221;
2837                 case '\t':
2838                 case ' ':       goto yy225;
2839                 case '\n':      goto yy227;
2840                 case '\r':      goto yy229;
2841                 case '!':
2842                 case '&':
2843                 case '(':
2844                 case ')':
2845                 case '^':
2846                 case '|':
2847                 case '~':       goto yy230;
2848                 case '"':       goto yy232;
2849                 case '$':       goto yy234;
2850                 case '\'':      goto yy235;
2851                 case '-':       goto yy236;
2852                 case '.':       goto yy237;
2853                 case '0':
2854                 case '1':
2855                 case '2':
2856                 case '3':
2857                 case '4':
2858                 case '5':
2859                 case '6':
2860                 case '7':
2861                 case '8':
2862                 case '9':       goto yy238;
2863                 case ';':       goto yy240;
2864                 case '=':       goto yy241;
2865                 case 'A':
2866                 case 'B':
2867                 case 'C':
2868                 case 'D':
2869                 case 'E':
2870                 case 'G':
2871                 case 'H':
2872                 case 'I':
2873                 case 'J':
2874                 case 'K':
2875                 case 'L':
2876                 case 'M':
2877                 case 'P':
2878                 case 'Q':
2879                 case 'R':
2880                 case 'S':
2881                 case 'U':
2882                 case 'V':
2883                 case 'W':
2884                 case 'X':
2885                 case 'Z':
2886                 case '_':
2887                 case 'a':
2888                 case 'b':
2889                 case 'c':
2890                 case 'd':
2891                 case 'e':
2892                 case 'g':
2893                 case 'h':
2894                 case 'i':
2895                 case 'j':
2896                 case 'k':
2897                 case 'l':
2898                 case 'm':
2899                 case 'p':
2900                 case 'q':
2901                 case 'r':
2902                 case 's':
2903                 case 'u':
2904                 case 'v':
2905                 case 'w':
2906                 case 'x':
2907                 case 'z':       goto yy243;
2908                 case 'F':
2909                 case 'f':       goto yy245;
2910                 case 'N':
2911                 case 'n':       goto yy246;
2912                 case 'O':
2913                 case 'o':       goto yy247;
2914                 case 'T':
2915                 case 't':       goto yy248;
2916                 case 'Y':
2917                 case 'y':       goto yy249;
2918                 default:        goto yy223;
2919                 }
2920 yy221:
2921                 YYDEBUG(221, *YYCURSOR);
2922                 ++YYCURSOR;
2923 yy222:
2924                 YYDEBUG(222, *YYCURSOR);
2925                 yyleng = YYCURSOR - SCNG(yy_text);
2926 #line 643 "Zend/zend_ini_scanner.l"
2927                 { /* End of option value (if EOF is reached before EOL */
2928         BEGIN(INITIAL);
2929         return END_OF_LINE;
2930 }
2931 #line 2932 "Zend/zend_ini_scanner.c"
2932 yy223:
2933                 YYDEBUG(223, *YYCURSOR);
2934                 yyaccept = 0;
2935                 yych = *(YYMARKER = ++YYCURSOR);
2936                 goto yy251;
2937 yy224:
2938                 YYDEBUG(224, *YYCURSOR);
2939                 yyleng = YYCURSOR - SCNG(yy_text);
2940 #line 569 "Zend/zend_ini_scanner.l"
2941                 { /* Get everything else as option/offset value */
2942         RETURN_TOKEN(TC_STRING, yytext, yyleng);
2943 }
2944 #line 2945 "Zend/zend_ini_scanner.c"
2945 yy225:
2946                 YYDEBUG(225, *YYCURSOR);
2947                 yyaccept = 1;
2948                 yych = *(YYMARKER = ++YYCURSOR);
2949                 goto yy305;
2950 yy226:
2951                 YYDEBUG(226, *YYCURSOR);
2952                 yyleng = YYCURSOR - SCNG(yy_text);
2953 #line 623 "Zend/zend_ini_scanner.l"
2954                 {
2955         RETURN_TOKEN(TC_WHITESPACE, yytext, yyleng);
2956 }
2957 #line 2958 "Zend/zend_ini_scanner.c"
2958 yy227:
2959                 YYDEBUG(227, *YYCURSOR);
2960                 ++YYCURSOR;
2961 yy228:
2962                 YYDEBUG(228, *YYCURSOR);
2963                 yyleng = YYCURSOR - SCNG(yy_text);
2964 #line 541 "Zend/zend_ini_scanner.l"
2965                 { /* End of option value */
2966         BEGIN(INITIAL);
2967         SCNG(lineno)++;
2968         return END_OF_LINE;
2969 }
2970 #line 2971 "Zend/zend_ini_scanner.c"
2971 yy229:
2972                 YYDEBUG(229, *YYCURSOR);
2973                 yych = *++YYCURSOR;
2974                 if (yych == '\n') goto yy303;
2975                 goto yy228;
2976 yy230:
2977                 YYDEBUG(230, *YYCURSOR);
2978                 ++YYCURSOR;
2979                 yych = *YYCURSOR;
2980                 goto yy302;
2981 yy231:
2982                 YYDEBUG(231, *YYCURSOR);
2983                 yyleng = YYCURSOR - SCNG(yy_text);
2984 #line 559 "Zend/zend_ini_scanner.l"
2985                 { /* Boolean operators */
2986         return yytext[0];
2987 }
2988 #line 2989 "Zend/zend_ini_scanner.c"
2989 yy232:
2990                 YYDEBUG(232, *YYCURSOR);
2991                 ++YYCURSOR;
2992 yy233:
2993                 YYDEBUG(233, *YYCURSOR);
2994                 yyleng = YYCURSOR - SCNG(yy_text);
2995 #line 577 "Zend/zend_ini_scanner.l"
2996                 { /* Double quoted '"' string start */
2997         yy_push_state(ST_DOUBLE_QUOTES);
2998         return '"';
2999 }
3000 #line 3001 "Zend/zend_ini_scanner.c"
3001 yy234:
3002                 YYDEBUG(234, *YYCURSOR);
3003                 yych = *++YYCURSOR;
3004                 if (yych <= '\\') {
3005                         if (yych <= 0x00) goto yy222;
3006                         if (yych <= '[') goto yy250;
3007                         goto yy257;
3008                 } else {
3009                         if (yych == '{') goto yy299;
3010                         goto yy250;
3011                 }
3012 yy235:
3013                 YYDEBUG(235, *YYCURSOR);
3014                 yyaccept = 2;
3015                 yych = *(YYMARKER = ++YYCURSOR);
3016                 if (yybm[0+yych] & 128) {
3017                         goto yy295;
3018                 }
3019                 goto yy222;
3020 yy236:
3021                 YYDEBUG(236, *YYCURSOR);
3022                 yyaccept = 0;
3023                 yych = *(YYMARKER = ++YYCURSOR);
3024                 if (yych <= '/') goto yy251;
3025                 if (yych <= '9') goto yy293;
3026                 goto yy251;
3027 yy237:
3028                 YYDEBUG(237, *YYCURSOR);
3029                 yyaccept = 0;
3030                 yych = *(YYMARKER = ++YYCURSOR);
3031                 if (yych <= '/') goto yy251;
3032                 if (yych <= '9') goto yy291;
3033                 goto yy251;
3034 yy238:
3035                 YYDEBUG(238, *YYCURSOR);
3036                 yyaccept = 3;
3037                 yych = *(YYMARKER = ++YYCURSOR);
3038                 if (yych <= '/') {
3039                         if (yych <= 0x1F) {
3040                                 if (yych <= '\n') {
3041                                         if (yych <= 0x00) goto yy239;
3042                                         if (yych <= 0x08) goto yy251;
3043                                 } else {
3044                                         if (yych != '\r') goto yy251;
3045                                 }
3046                         } else {
3047                                 if (yych <= ')') {
3048                                         if (yych <= '"') goto yy239;
3049                                         if (yych <= '%') goto yy251;
3050                                 } else {
3051                                         if (yych == '.') goto yy287;
3052                                         goto yy251;
3053                                 }
3054                         }
3055                 } else {
3056                         if (yych <= ']') {
3057                                 if (yych <= ';') {
3058                                         if (yych <= '9') goto yy289;
3059                                         if (yych <= ':') goto yy251;
3060                                 } else {
3061                                         if (yych != '=') goto yy251;
3062                                 }
3063                         } else {
3064                                 if (yych <= '|') {
3065                                         if (yych <= '^') goto yy239;
3066                                         if (yych <= '{') goto yy251;
3067                                 } else {
3068                                         if (yych != '~') goto yy251;
3069                                 }
3070                         }
3071                 }
3072 yy239:
3073                 YYDEBUG(239, *YYCURSOR);
3074                 yyleng = YYCURSOR - SCNG(yy_text);
3075 #line 551 "Zend/zend_ini_scanner.l"
3076                 { /* Get number option value as string */
3077         RETURN_TOKEN(TC_NUMBER, yytext, yyleng);
3078 }
3079 #line 3080 "Zend/zend_ini_scanner.c"
3080 yy240:
3081                 YYDEBUG(240, *YYCURSOR);
3082                 yyaccept = 2;
3083                 yych = *(YYMARKER = ++YYCURSOR);
3084                 goto yy283;
3085 yy241:
3086                 YYDEBUG(241, *YYCURSOR);
3087                 ++YYCURSOR;
3088                 YYDEBUG(242, *YYCURSOR);
3089                 yyleng = YYCURSOR - SCNG(yy_text);
3090 #line 563 "Zend/zend_ini_scanner.l"
3091                 { /* Make = used in option value to trigger error */
3092         yyless(0);
3093         BEGIN(INITIAL);
3094         return END_OF_LINE;
3095 }
3096 #line 3097 "Zend/zend_ini_scanner.c"
3097 yy243:
3098                 YYDEBUG(243, *YYCURSOR);
3099                 yyaccept = 4;
3100                 yych = *(YYMARKER = ++YYCURSOR);
3101                 if (yybm[0+yych] & 4) {
3102                         goto yy252;
3103                 }
3104                 if (yych <= ':') {
3105                         if (yych <= '\r') {
3106                                 if (yych <= 0x08) {
3107                                         if (yych >= 0x01) goto yy251;
3108                                 } else {
3109                                         if (yych <= '\n') goto yy244;
3110                                         if (yych <= '\f') goto yy251;
3111                                 }
3112                         } else {
3113                                 if (yych <= '"') {
3114                                         if (yych <= 0x1F) goto yy251;
3115                                 } else {
3116                                         if (yych <= '%') goto yy251;
3117                                         if (yych >= '*') goto yy251;
3118                                 }
3119                         }
3120                 } else {
3121                         if (yych <= '^') {
3122                                 if (yych <= '<') {
3123                                         if (yych >= '<') goto yy251;
3124                                 } else {
3125                                         if (yych <= '=') goto yy244;
3126                                         if (yych <= ']') goto yy251;
3127                                 }
3128                         } else {
3129                                 if (yych <= '|') {
3130                                         if (yych <= '{') goto yy251;
3131                                 } else {
3132                                         if (yych != '~') goto yy251;
3133                                 }
3134                         }
3135                 }
3136 yy244:
3137                 YYDEBUG(244, *YYCURSOR);
3138                 yyleng = YYCURSOR - SCNG(yy_text);
3139 #line 547 "Zend/zend_ini_scanner.l"
3140                 { /* Get constant option value */
3141         RETURN_TOKEN(TC_CONSTANT, yytext, yyleng);
3142 }
3143 #line 3144 "Zend/zend_ini_scanner.c"
3144 yy245:
3145                 YYDEBUG(245, *YYCURSOR);
3146                 yyaccept = 4;
3147                 yych = *(YYMARKER = ++YYCURSOR);
3148                 if (yych <= '<') {
3149                         if (yych <= '"') {
3150                                 if (yych <= '\n') {
3151                                         if (yych <= 0x00) goto yy244;
3152                                         if (yych <= 0x08) goto yy251;
3153                                         goto yy244;
3154                                 } else {
3155                                         if (yych == '\r') goto yy244;
3156                                         if (yych <= 0x1F) goto yy251;
3157                                         goto yy244;
3158                                 }
3159                         } else {
3160                                 if (yych <= '/') {
3161                                         if (yych <= '%') goto yy251;
3162                                         if (yych <= ')') goto yy244;
3163                                         goto yy251;
3164                                 } else {
3165                                         if (yych <= '9') goto yy252;
3166                                         if (yych == ';') goto yy244;
3167                                         goto yy251;
3168                                 }
3169                         }
3170                 } else {
3171                         if (yych <= '_') {
3172                                 if (yych <= 'A') {
3173                                         if (yych <= '=') goto yy244;
3174                                         if (yych <= '@') goto yy251;
3175                                         goto yy279;
3176                                 } else {
3177                                         if (yych <= 'Z') goto yy252;
3178                                         if (yych <= ']') goto yy251;
3179                                         if (yych <= '^') goto yy244;
3180                                         goto yy252;
3181                                 }
3182                         } else {
3183                                 if (yych <= '{') {
3184                                         if (yych <= '`') goto yy251;
3185                                         if (yych <= 'a') goto yy279;
3186                                         if (yych <= 'z') goto yy252;
3187                                         goto yy251;
3188                                 } else {
3189                                         if (yych == '}') goto yy251;
3190                                         if (yych <= '~') goto yy244;
3191                                         goto yy251;
3192                                 }
3193                         }
3194                 }
3195 yy246:
3196                 YYDEBUG(246, *YYCURSOR);
3197                 yyaccept = 4;
3198                 yych = *(YYMARKER = ++YYCURSOR);
3199                 if (yych <= 'N') {
3200                         if (yych <= '%') {
3201                                 if (yych <= '\f') {
3202                                         if (yych <= 0x00) goto yy244;
3203                                         if (yych <= 0x08) goto yy251;
3204                                         if (yych <= '\n') goto yy244;
3205                                         goto yy251;
3206                                 } else {
3207                                         if (yych <= '\r') goto yy244;
3208                                         if (yych <= 0x1F) goto yy251;
3209                                         if (yych <= '"') goto yy244;
3210                                         goto yy251;
3211                                 }
3212                         } else {
3213                                 if (yych <= ':') {
3214                                         if (yych <= ')') goto yy244;
3215                                         if (yych <= '/') goto yy251;
3216                                         if (yych <= '9') goto yy252;
3217                                         goto yy251;
3218                                 } else {
3219                                         if (yych <= '<') {
3220                                                 if (yych <= ';') goto yy244;
3221                                                 goto yy251;
3222                                         } else {
3223                                                 if (yych <= '=') goto yy244;
3224                                                 if (yych <= '@') goto yy251;
3225                                                 goto yy252;
3226                                         }
3227                                 }
3228                         }
3229                 } else {
3230                         if (yych <= 'n') {
3231                                 if (yych <= 'Z') {
3232                                         if (yych <= 'O') goto yy271;
3233                                         if (yych == 'U') goto yy272;
3234                                         goto yy252;
3235                                 } else {
3236                                         if (yych <= '^') {
3237                                                 if (yych <= ']') goto yy251;
3238                                                 goto yy244;
3239                                         } else {
3240                                                 if (yych == '`') goto yy251;
3241                                                 goto yy252;
3242                                         }
3243                                 }
3244                         } else {
3245                                 if (yych <= 'z') {
3246                                         if (yych <= 'o') goto yy271;
3247                                         if (yych == 'u') goto yy272;
3248                                         goto yy252;
3249                                 } else {
3250                                         if (yych <= '|') {
3251                                                 if (yych <= '{') goto yy251;
3252                                                 goto yy244;
3253                                         } else {
3254                                                 if (yych == '~') goto yy244;
3255                                                 goto yy251;
3256                                         }
3257                                 }
3258                         }
3259                 }
3260 yy247:
3261                 YYDEBUG(247, *YYCURSOR);
3262                 yyaccept = 4;
3263                 yych = *(YYMARKER = ++YYCURSOR);
3264                 if (yych <= 'E') {
3265                         if (yych <= '%') {
3266                                 if (yych <= '\f') {
3267                                         if (yych <= 0x00) goto yy244;
3268                                         if (yych <= 0x08) goto yy251;
3269                                         if (yych <= '\n') goto yy244;
3270                                         goto yy251;
3271                                 } else {
3272                                         if (yych <= '\r') goto yy244;
3273                                         if (yych <= 0x1F) goto yy251;
3274                                         if (yych <= '"') goto yy244;
3275                                         goto yy251;
3276                                 }
3277                         } else {
3278                                 if (yych <= ':') {
3279                                         if (yych <= ')') goto yy244;
3280                                         if (yych <= '/') goto yy251;
3281                                         if (yych <= '9') goto yy252;
3282                                         goto yy251;
3283                                 } else {
3284                                         if (yych <= '<') {
3285                                                 if (yych <= ';') goto yy244;
3286                                                 goto yy251;
3287                                         } else {
3288                                                 if (yych <= '=') goto yy244;
3289                                                 if (yych <= '@') goto yy251;
3290                                                 goto yy252;
3291                                         }
3292                                 }
3293                         }
3294                 } else {
3295                         if (yych <= 'e') {
3296                                 if (yych <= 'Z') {
3297                                         if (yych <= 'F') goto yy266;
3298                                         if (yych == 'N') goto yy260;
3299                                         goto yy252;
3300                                 } else {
3301                                         if (yych <= '^') {
3302                                                 if (yych <= ']') goto yy251;
3303                                                 goto yy244;
3304                                         } else {
3305                                                 if (yych == '`') goto yy251;
3306                                                 goto yy252;
3307                                         }
3308                                 }
3309                         } else {
3310                                 if (yych <= 'z') {
3311                                         if (yych <= 'f') goto yy266;
3312                                         if (yych == 'n') goto yy260;
3313                                         goto yy252;
3314                                 } else {
3315                                         if (yych <= '|') {
3316                                                 if (yych <= '{') goto yy251;
3317                                                 goto yy244;
3318                                         } else {
3319                                                 if (yych == '~') goto yy244;
3320                                                 goto yy251;
3321                                         }
3322                                 }
3323                         }
3324                 }
3325 yy248:
3326                 YYDEBUG(248, *YYCURSOR);
3327                 yyaccept = 4;
3328                 yych = *(YYMARKER = ++YYCURSOR);
3329                 if (yych <= '=') {
3330                         if (yych <= '"') {
3331                                 if (yych <= '\n') {
3332                                         if (yych <= 0x00) goto yy244;
3333                                         if (yych <= 0x08) goto yy251;
3334                                         goto yy244;
3335                                 } else {
3336                                         if (yych == '\r') goto yy244;
3337                                         if (yych <= 0x1F) goto yy251;
3338                                         goto yy244;
3339                                 }
3340                         } else {
3341                                 if (yych <= '9') {
3342                                         if (yych <= '%') goto yy251;
3343                                         if (yych <= ')') goto yy244;
3344                                         if (yych <= '/') goto yy251;
3345                                         goto yy252;
3346                                 } else {
3347                                         if (yych == ';') goto yy244;
3348                                         if (yych <= '<') goto yy251;
3349                                         goto yy244;
3350                                 }
3351                         }
3352                 } else {
3353                         if (yych <= '`') {
3354                                 if (yych <= 'Z') {
3355                                         if (yych <= '@') goto yy251;
3356                                         if (yych == 'R') goto yy264;
3357                                         goto yy252;
3358                                 } else {
3359                                         if (yych <= ']') goto yy251;
3360                                         if (yych <= '^') goto yy244;
3361                                         if (yych <= '_') goto yy252;
3362                                         goto yy251;
3363                                 }
3364                         } else {
3365                                 if (yych <= '{') {
3366                                         if (yych == 'r') goto yy264;
3367                                         if (yych <= 'z') goto yy252;
3368                                         goto yy251;
3369                                 } else {
3370                                         if (yych == '}') goto yy251;
3371                                         if (yych <= '~') goto yy244;
3372                                         goto yy251;
3373                                 }
3374                         }
3375                 }
3376 yy249:
3377                 YYDEBUG(249, *YYCURSOR);
3378                 yyaccept = 4;
3379                 yych = *(YYMARKER = ++YYCURSOR);
3380                 if (yych <= '=') {
3381                         if (yych <= '"') {
3382                                 if (yych <= '\n') {
3383                                         if (yych <= 0x00) goto yy244;
3384                                         if (yych <= 0x08) goto yy251;
3385                                         goto yy244;
3386                                 } else {
3387                                         if (yych == '\r') goto yy244;
3388                                         if (yych <= 0x1F) goto yy251;
3389                                         goto yy244;
3390                                 }
3391                         } else {
3392                                 if (yych <= '9') {
3393                                         if (yych <= '%') goto yy251;
3394                                         if (yych <= ')') goto yy244;
3395                                         if (yych <= '/') goto yy251;
3396                                         goto yy252;
3397                                 } else {
3398                                         if (yych == ';') goto yy244;
3399                                         if (yych <= '<') goto yy251;
3400                                         goto yy244;
3401                                 }
3402                         }
3403                 } else {
3404                         if (yych <= '`') {
3405                                 if (yych <= 'Z') {
3406                                         if (yych <= '@') goto yy251;
3407                                         if (yych == 'E') goto yy254;
3408                                         goto yy252;
3409                                 } else {
3410                                         if (yych <= ']') goto yy251;
3411                                         if (yych <= '^') goto yy244;
3412                                         if (yych <= '_') goto yy252;
3413                                         goto yy251;
3414                                 }
3415                         } else {
3416                                 if (yych <= '{') {
3417                                         if (yych == 'e') goto yy254;
3418                                         if (yych <= 'z') goto yy252;
3419                                         goto yy251;
3420                                 } else {
3421                                         if (yych == '}') goto yy251;
3422                                         if (yych <= '~') goto yy244;
3423                                         goto yy251;
3424                                 }
3425                         }
3426                 }
3427 yy250:
3428                 YYDEBUG(250, *YYCURSOR);
3429                 yyaccept = 0;
3430                 YYMARKER = ++YYCURSOR;
3431                 YYFILL(1);
3432                 yych = *YYCURSOR;
3433 yy251:
3434                 YYDEBUG(251, *YYCURSOR);
3435                 if (yybm[0+yych] & 2) {
3436                         goto yy250;
3437                 }
3438                 if (yych == '$') goto yy255;
3439                 goto yy224;
3440 yy252:
3441                 YYDEBUG(252, *YYCURSOR);
3442                 yyaccept = 4;
3443                 YYMARKER = ++YYCURSOR;
3444                 YYFILL(1);
3445                 yych = *YYCURSOR;
3446                 YYDEBUG(253, *YYCURSOR);
3447                 if (yybm[0+yych] & 4) {
3448                         goto yy252;
3449                 }
3450                 if (yych <= ')') {
3451                         if (yych <= '\r') {
3452                                 if (yych <= 0x08) {
3453                                         if (yych <= 0x00) goto yy244;
3454                                         goto yy250;
3455                                 } else {
3456                                         if (yych <= '\n') goto yy244;
3457                                         if (yych <= '\f') goto yy250;
3458                                         goto yy244;
3459                                 }
3460                         } else {
3461                                 if (yych <= '#') {
3462                                         if (yych <= 0x1F) goto yy250;
3463                                         if (yych <= '"') goto yy244;
3464                                         goto yy250;
3465                                 } else {
3466                                         if (yych <= '$') goto yy255;
3467                                         if (yych <= '%') goto yy250;
3468                                         goto yy244;
3469                                 }
3470                         }
3471                 } else {
3472                         if (yych <= ']') {
3473                                 if (yych <= ';') {
3474                                         if (yych <= ':') goto yy250;
3475                                         goto yy244;
3476                                 } else {
3477                                         if (yych == '=') goto yy244;
3478                                         goto yy250;
3479                                 }
3480                         } else {
3481                                 if (yych <= '|') {
3482                                         if (yych <= '^') goto yy244;
3483                                         if (yych <= '{') goto yy250;
3484                                         goto yy244;
3485                                 } else {
3486                                         if (yych == '~') goto yy244;
3487                                         goto yy250;
3488                                 }
3489                         }
3490                 }
3491 yy254:
3492                 YYDEBUG(254, *YYCURSOR);
3493                 yyaccept = 4;
3494                 yych = *(YYMARKER = ++YYCURSOR);
3495                 if (yych <= '=') {
3496                         if (yych <= '"') {
3497                                 if (yych <= '\n') {
3498                                         if (yych <= 0x00) goto yy244;
3499                                         if (yych <= 0x08) goto yy251;
3500                                         goto yy244;
3501                                 } else {
3502                                         if (yych == '\r') goto yy244;
3503                                         if (yych <= 0x1F) goto yy251;
3504                                         goto yy244;
3505                                 }
3506                         } else {
3507                                 if (yych <= '9') {
3508                                         if (yych <= '%') goto yy251;
3509                                         if (yych <= ')') goto yy244;
3510                                         if (yych <= '/') goto yy251;
3511                                         goto yy252;
3512                                 } else {
3513                                         if (yych == ';') goto yy244;
3514                                         if (yych <= '<') goto yy251;
3515                                         goto yy244;
3516                                 }
3517                         }
3518                 } else {
3519                         if (yych <= '`') {
3520                                 if (yych <= 'Z') {
3521                                         if (yych <= '@') goto yy251;
3522                                         if (yych == 'S') goto yy260;
3523                                         goto yy252;
3524                                 } else {
3525                                         if (yych <= ']') goto yy251;
3526                                         if (yych <= '^') goto yy244;
3527                                         if (yych <= '_') goto yy252;
3528                                         goto yy251;
3529                                 }
3530                         } else {
3531                                 if (yych <= '{') {
3532                                         if (yych == 's') goto yy260;
3533                                         if (yych <= 'z') goto yy252;
3534                                         goto yy251;
3535                                 } else {
3536                                         if (yych == '}') goto yy251;
3537                                         if (yych <= '~') goto yy244;
3538                                         goto yy251;
3539                                 }
3540                         }
3541                 }
3542 yy255:
3543                 YYDEBUG(255, *YYCURSOR);
3544                 ++YYCURSOR;
3545                 YYFILL(1);
3546                 yych = *YYCURSOR;
3547                 if (yych <= '\\') {
3548                         if (yych <= 0x00) goto yy256;
3549                         if (yych <= '[') goto yy250;
3550                         goto yy257;
3551                 } else {
3552                         if (yych != '{') goto yy250;
3553                 }
3554 yy256:
3555                 YYDEBUG(256, *YYCURSOR);
3556                 YYCURSOR = YYMARKER;
3557                 if (yyaccept <= 3) {
3558                         if (yyaccept <= 1) {
3559                                 if (yyaccept <= 0) {
3560                                         goto yy224;
3561                                 } else {
3562                                         goto yy226;
3563                                 }
3564                         } else {
3565                                 if (yyaccept <= 2) {
3566                                         goto yy222;
3567                                 } else {
3568                                         goto yy239;
3569                                 }
3570                         }
3571                 } else {
3572                         if (yyaccept <= 5) {
3573                                 if (yyaccept <= 4) {
3574                                         goto yy244;
3575                                 } else {
3576                                         goto yy261;
3577                                 }
3578                         } else {
3579                                 if (yyaccept <= 6) {
3580                                         goto yy268;
3581                                 } else {
3582                                         goto yy275;
3583                                 }
3584                         }
3585                 }
3586 yy257:
3587                 YYDEBUG(257, *YYCURSOR);
3588                 ++YYCURSOR;
3589                 YYFILL(1);
3590                 yych = *YYCURSOR;
3591                 if (yybm[0+yych] & 8) {
3592                         goto yy258;
3593                 }
3594                 goto yy250;
3595 yy258:
3596                 YYDEBUG(258, *YYCURSOR);
3597                 ++YYCURSOR;
3598                 YYFILL(1);
3599                 yych = *YYCURSOR;
3600                 YYDEBUG(259, *YYCURSOR);
3601                 if (yybm[0+yych] & 8) {
3602                         goto yy258;
3603                 }
3604                 if (yych <= 0x00) goto yy224;
3605                 if (yych == '\\') goto yy257;
3606                 goto yy250;
3607 yy260:
3608                 YYDEBUG(260, *YYCURSOR);
3609                 yyaccept = 5;
3610                 yych = *(YYMARKER = ++YYCURSOR);
3611                 if (yybm[0+yych] & 16) {
3612                         goto yy262;
3613                 }
3614                 if (yych <= ';') {
3615                         if (yych <= ' ') {
3616                                 if (yych <= '\n') {
3617                                         if (yych <= 0x00) goto yy261;
3618                                         if (yych <= '\t') goto yy251;
3619                                 } else {
3620                                         if (yych != '\r') goto yy251;
3621                                 }
3622                         } else {
3623                                 if (yych <= ')') {
3624                                         if (yych <= '"') goto yy261;
3625                                         if (yych <= '%') goto yy251;
3626                                 } else {
3627                                         if (yych <= '/') goto yy251;
3628                                         if (yych <= '9') goto yy252;
3629                                         if (yych <= ':') goto yy251;
3630                                 }
3631                         }
3632                 } else {
3633                         if (yych <= '_') {
3634                                 if (yych <= '@') {
3635                                         if (yych != '=') goto yy251;
3636                                 } else {
3637                                         if (yych <= 'Z') goto yy252;
3638                                         if (yych <= ']') goto yy251;
3639                                         if (yych >= '_') goto yy252;
3640                                 }
3641                         } else {
3642                                 if (yych <= '{') {
3643                                         if (yych <= '`') goto yy251;
3644                                         if (yych <= 'z') goto yy252;
3645                                         goto yy251;
3646                                 } else {
3647                                         if (yych == '}') goto yy251;
3648                                         if (yych >= 0x7F) goto yy251;
3649                                 }
3650                         }
3651                 }
3652 yy261:
3653                 YYDEBUG(261, *YYCURSOR);
3654                 yyleng = YYCURSOR - SCNG(yy_text);
3655 #line 469 "Zend/zend_ini_scanner.l"
3656                 { /* TRUE value (when used outside option value/offset this causes parse error!) */
3657         RETURN_TOKEN(BOOL_TRUE, "1", 1);
3658 }
3659 #line 3660 "Zend/zend_ini_scanner.c"
3660 yy262:
3661                 YYDEBUG(262, *YYCURSOR);
3662                 ++YYCURSOR;
3663                 YYFILL(1);
3664                 yych = *YYCURSOR;
3665                 YYDEBUG(263, *YYCURSOR);
3666                 if (yybm[0+yych] & 16) {
3667                         goto yy262;
3668                 }
3669                 goto yy261;
3670 yy264:
3671                 YYDEBUG(264, *YYCURSOR);
3672                 yyaccept = 4;
3673                 yych = *(YYMARKER = ++YYCURSOR);
3674                 if (yych <= '=') {
3675                         if (yych <= '"') {
3676                                 if (yych <= '\n') {
3677                                         if (yych <= 0x00) goto yy244;
3678                                         if (yych <= 0x08) goto yy251;
3679                                         goto yy244;
3680                                 } else {
3681                                         if (yych == '\r') goto yy244;
3682                                         if (yych <= 0x1F) goto yy251;
3683                                         goto yy244;
3684                                 }
3685                         } else {
3686                                 if (yych <= '9') {
3687                                         if (yych <= '%') goto yy251;
3688                                         if (yych <= ')') goto yy244;
3689                                         if (yych <= '/') goto yy251;
3690                                         goto yy252;
3691                                 } else {
3692                                         if (yych == ';') goto yy244;
3693                                         if (yych <= '<') goto yy251;
3694                                         goto yy244;
3695                                 }
3696                         }
3697                 } else {
3698                         if (yych <= '`') {
3699                                 if (yych <= 'Z') {
3700                                         if (yych <= '@') goto yy251;
3701                                         if (yych != 'U') goto yy252;
3702                                 } else {
3703                                         if (yych <= ']') goto yy251;
3704                                         if (yych <= '^') goto yy244;
3705                                         if (yych <= '_') goto yy252;
3706                                         goto yy251;
3707                                 }
3708                         } else {
3709                                 if (yych <= '{') {
3710                                         if (yych == 'u') goto yy265;
3711                                         if (yych <= 'z') goto yy252;
3712                                         goto yy251;
3713                                 } else {
3714                                         if (yych == '}') goto yy251;
3715                                         if (yych <= '~') goto yy244;
3716                                         goto yy251;
3717                                 }
3718                         }
3719                 }
3720 yy265:
3721                 YYDEBUG(265, *YYCURSOR);
3722                 yyaccept = 4;
3723                 yych = *(YYMARKER = ++YYCURSOR);
3724                 if (yych <= '=') {
3725                         if (yych <= '"') {
3726                                 if (yych <= '\n') {
3727                                         if (yych <= 0x00) goto yy244;
3728                                         if (yych <= 0x08) goto yy251;
3729                                         goto yy244;
3730                                 } else {
3731                                         if (yych == '\r') goto yy244;
3732                                         if (yych <= 0x1F) goto yy251;
3733                                         goto yy244;
3734                                 }
3735                         } else {
3736                                 if (yych <= '9') {
3737                                         if (yych <= '%') goto yy251;
3738                                         if (yych <= ')') goto yy244;
3739                                         if (yych <= '/') goto yy251;
3740                                         goto yy252;
3741                                 } else {
3742                                         if (yych == ';') goto yy244;
3743                                         if (yych <= '<') goto yy251;
3744                                         goto yy244;
3745                                 }
3746                         }
3747                 } else {
3748                         if (yych <= '`') {
3749                                 if (yych <= 'Z') {
3750                                         if (yych <= '@') goto yy251;
3751                                         if (yych == 'E') goto yy260;
3752                                         goto yy252;
3753                                 } else {
3754                                         if (yych <= ']') goto yy251;
3755                                         if (yych <= '^') goto yy244;
3756                                         if (yych <= '_') goto yy252;
3757                                         goto yy251;
3758                                 }
3759                         } else {
3760                                 if (yych <= '{') {
3761                                         if (yych == 'e') goto yy260;
3762                                         if (yych <= 'z') goto yy252;
3763                                         goto yy251;
3764                                 } else {
3765                                         if (yych == '}') goto yy251;
3766                                         if (yych <= '~') goto yy244;
3767                                         goto yy251;
3768                                 }
3769                         }
3770                 }
3771 yy266:
3772                 YYDEBUG(266, *YYCURSOR);
3773                 yyaccept = 4;
3774                 yych = *(YYMARKER = ++YYCURSOR);
3775                 if (yych <= '=') {
3776                         if (yych <= '"') {
3777                                 if (yych <= '\n') {
3778                                         if (yych <= 0x00) goto yy244;
3779                                         if (yych <= 0x08) goto yy251;
3780                                         goto yy244;
3781                                 } else {
3782                                         if (yych == '\r') goto yy244;
3783                                         if (yych <= 0x1F) goto yy251;
3784                                         goto yy244;
3785                                 }
3786                         } else {
3787                                 if (yych <= '9') {
3788                                         if (yych <= '%') goto yy251;
3789                                         if (yych <= ')') goto yy244;
3790                                         if (yych <= '/') goto yy251;
3791                                         goto yy252;
3792                                 } else {
3793                                         if (yych == ';') goto yy244;
3794                                         if (yych <= '<') goto yy251;
3795                                         goto yy244;
3796                                 }
3797                         }
3798                 } else {
3799                         if (yych <= '`') {
3800                                 if (yych <= 'Z') {
3801                                         if (yych <= '@') goto yy251;
3802                                         if (yych != 'F') goto yy252;
3803                                 } else {
3804                                         if (yych <= ']') goto yy251;
3805                                         if (yych <= '^') goto yy244;
3806                                         if (yych <= '_') goto yy252;
3807                                         goto yy251;
3808                                 }
3809                         } else {
3810                                 if (yych <= '{') {
3811                                         if (yych == 'f') goto yy267;
3812                                         if (yych <= 'z') goto yy252;
3813                                         goto yy251;
3814                                 } else {
3815                                         if (yych == '}') goto yy251;
3816                                         if (yych <= '~') goto yy244;
3817                                         goto yy251;
3818                                 }
3819                         }
3820                 }
3821 yy267:
3822                 YYDEBUG(267, *YYCURSOR);
3823                 yyaccept = 6;
3824                 yych = *(YYMARKER = ++YYCURSOR);
3825                 if (yybm[0+yych] & 4) {
3826                         goto yy252;
3827                 }
3828                 if (yych <= ')') {
3829                         if (yych <= '\f') {
3830                                 if (yych <= 0x08) {
3831                                         if (yych >= 0x01) goto yy251;
3832                                 } else {
3833                                         if (yych <= '\t') goto yy269;
3834                                         if (yych >= '\v') goto yy251;
3835                                 }
3836                         } else {
3837                                 if (yych <= ' ') {
3838                                         if (yych <= '\r') goto yy268;
3839                                         if (yych <= 0x1F) goto yy251;
3840                                         goto yy269;
3841                                 } else {
3842                                         if (yych <= '"') goto yy268;
3843                                         if (yych <= '%') goto yy251;
3844                                 }
3845                         }
3846                 } else {
3847                         if (yych <= ']') {
3848                                 if (yych <= ';') {
3849                                         if (yych <= ':') goto yy251;
3850                                 } else {
3851                                         if (yych != '=') goto yy251;
3852                                 }
3853                         } else {
3854                                 if (yych <= '|') {
3855                                         if (yych <= '^') goto yy268;
3856                                         if (yych <= '{') goto yy251;
3857                                 } else {
3858                                         if (yych != '~') goto yy251;
3859                                 }
3860                         }
3861                 }
3862 yy268:
3863                 YYDEBUG(268, *YYCURSOR);
3864                 yyleng = YYCURSOR - SCNG(yy_text);
3865 #line 473 "Zend/zend_ini_scanner.l"
3866                 { /* FALSE value (when used outside option value/offset this causes parse error!)*/
3867         RETURN_TOKEN(BOOL_FALSE, "", 0);
3868 }
3869 #line 3870 "Zend/zend_ini_scanner.c"
3870 yy269:
3871                 YYDEBUG(269, *YYCURSOR);
3872                 ++YYCURSOR;
3873                 YYFILL(1);
3874                 yych = *YYCURSOR;
3875                 YYDEBUG(270, *YYCURSOR);
3876                 if (yych == '\t') goto yy269;
3877                 if (yych == ' ') goto yy269;
3878                 goto yy268;
3879 yy271:
3880                 YYDEBUG(271, *YYCURSOR);
3881                 yyaccept = 6;
3882                 yych = *(YYMARKER = ++YYCURSOR);
3883                 if (yych <= '<') {
3884                         if (yych <= ' ') {
3885                                 if (yych <= '\n') {
3886                                         if (yych <= 0x00) goto yy268;
3887                                         if (yych <= 0x08) goto yy251;
3888                                         if (yych <= '\t') goto yy269;
3889                                         goto yy268;
3890                                 } else {
3891                                         if (yych == '\r') goto yy268;
3892                                         if (yych <= 0x1F) goto yy251;
3893                                         goto yy269;
3894                                 }
3895                         } else {
3896                                 if (yych <= '/') {
3897                                         if (yych <= '"') goto yy268;
3898                                         if (yych <= '%') goto yy251;
3899                                         if (yych <= ')') goto yy268;
3900                                         goto yy251;
3901                                 } else {
3902                                         if (yych <= '9') goto yy252;
3903                                         if (yych == ';') goto yy268;
3904                                         goto yy251;
3905                                 }
3906                         }
3907                 } else {
3908                         if (yych <= '_') {
3909                                 if (yych <= 'N') {
3910                                         if (yych <= '=') goto yy268;
3911                                         if (yych <= '@') goto yy251;
3912                                         if (yych <= 'M') goto yy252;
3913                                         goto yy278;
3914                                 } else {
3915                                         if (yych <= 'Z') goto yy252;
3916                                         if (yych <= ']') goto yy251;
3917                                         if (yych <= '^') goto yy268;
3918                                         goto yy252;
3919                                 }
3920                         } else {
3921                                 if (yych <= 'z') {
3922                                         if (yych <= '`') goto yy251;
3923                                         if (yych == 'n') goto yy278;
3924                                         goto yy252;
3925                                 } else {
3926                                         if (yych <= '|') {
3927                                                 if (yych <= '{') goto yy251;
3928                                                 goto yy268;
3929                                         } else {
3930                                                 if (yych == '~') goto yy268;
3931                                                 goto yy251;
3932                                         }
3933                                 }
3934                         }
3935                 }
3936 yy272:
3937                 YYDEBUG(272, *YYCURSOR);
3938                 yyaccept = 4;
3939                 yych = *(YYMARKER = ++YYCURSOR);
3940                 if (yych <= '=') {
3941                         if (yych <= '"') {
3942                                 if (yych <= '\n') {
3943                                         if (yych <= 0x00) goto yy244;
3944                                         if (yych <= 0x08) goto yy251;
3945                                         goto yy244;
3946                                 } else {
3947                                         if (yych == '\r') goto yy244;
3948                                         if (yych <= 0x1F) goto yy251;
3949                                         goto yy244;
3950                                 }
3951                         } else {
3952                                 if (yych <= '9') {
3953                                         if (yych <= '%') goto yy251;
3954                                         if (yych <= ')') goto yy244;
3955                                         if (yych <= '/') goto yy251;
3956                                         goto yy252;
3957                                 } else {
3958                                         if (yych == ';') goto yy244;
3959                                         if (yych <= '<') goto yy251;
3960                                         goto yy244;
3961                                 }
3962                         }
3963                 } else {
3964                         if (yych <= '`') {
3965                                 if (yych <= 'Z') {
3966                                         if (yych <= '@') goto yy251;
3967                                         if (yych != 'L') goto yy252;
3968                                 } else {
3969                                         if (yych <= ']') goto yy251;
3970                                         if (yych <= '^') goto yy244;
3971                                         if (yych <= '_') goto yy252;
3972                                         goto yy251;
3973                                 }
3974                         } else {
3975                                 if (yych <= '{') {
3976                                         if (yych == 'l') goto yy273;
3977                                         if (yych <= 'z') goto yy252;
3978                                         goto yy251;
3979                                 } else {
3980                                         if (yych == '}') goto yy251;
3981                                         if (yych <= '~') goto yy244;
3982                                         goto yy251;
3983                                 }
3984                         }
3985                 }
3986 yy273:
3987                 YYDEBUG(273, *YYCURSOR);
3988                 yyaccept = 4;
3989                 yych = *(YYMARKER = ++YYCURSOR);
3990                 if (yych <= '=') {
3991                         if (yych <= '"') {
3992                                 if (yych <= '\n') {
3993                                         if (yych <= 0x00) goto yy244;
3994                                         if (yych <= 0x08) goto yy251;
3995                                         goto yy244;
3996                                 } else {
3997                                         if (yych == '\r') goto yy244;
3998                                         if (yych <= 0x1F) goto yy251;
3999                                         goto yy244;
4000                                 }
4001                         } else {
4002                                 if (yych <= '9') {
4003                                         if (yych <= '%') goto yy251;
4004                                         if (yych <= ')') goto yy244;
4005                                         if (yych <= '/') goto yy251;
4006                                         goto yy252;
4007                                 } else {
4008                                         if (yych == ';') goto yy244;
4009                                         if (yych <= '<') goto yy251;
4010                                         goto yy244;
4011                                 }
4012                         }
4013                 } else {
4014                         if (yych <= '`') {
4015                                 if (yych <= 'Z') {
4016                                         if (yych <= '@') goto yy251;
4017                                         if (yych != 'L') goto yy252;
4018                                 } else {
4019                                         if (yych <= ']') goto yy251;
4020                                         if (yych <= '^') goto yy244;
4021                                         if (yych <= '_') goto yy252;
4022                                         goto yy251;
4023                                 }
4024                         } else {
4025                                 if (yych <= '{') {
4026                                         if (yych == 'l') goto yy274;
4027                                         if (yych <= 'z') goto yy252;
4028                                         goto yy251;
4029                                 } else {
4030                                         if (yych == '}') goto yy251;
4031                                         if (yych <= '~') goto yy244;
4032                                         goto yy251;
4033                                 }
4034                         }
4035                 }
4036 yy274:
4037                 YYDEBUG(274, *YYCURSOR);
4038                 yyaccept = 7;
4039                 yych = *(YYMARKER = ++YYCURSOR);
4040                 if (yybm[0+yych] & 4) {
4041                         goto yy252;
4042                 }
4043                 if (yych <= ')') {
4044                         if (yych <= '\f') {
4045                                 if (yych <= 0x08) {
4046                                         if (yych >= 0x01) goto yy251;
4047                                 } else {
4048                                         if (yych <= '\t') goto yy276;
4049                                         if (yych >= '\v') goto yy251;
4050                                 }
4051                         } else {
4052                                 if (yych <= ' ') {
4053                                         if (yych <= '\r') goto yy275;
4054                                         if (yych <= 0x1F) goto yy251;
4055                                         goto yy276;
4056                                 } else {
4057                                         if (yych <= '"') goto yy275;
4058                                         if (yych <= '%') goto yy251;
4059                                 }
4060                         }
4061                 } else {
4062                         if (yych <= ']') {
4063                                 if (yych <= ';') {
4064                                         if (yych <= ':') goto yy251;
4065                                 } else {
4066                                         if (yych != '=') goto yy251;
4067                                 }
4068                         } else {
4069                                 if (yych <= '|') {
4070                                         if (yych <= '^') goto yy275;
4071                                         if (yych <= '{') goto yy251;
4072                                 } else {
4073                                         if (yych != '~') goto yy251;
4074                                 }
4075                         }
4076                 }
4077 yy275:
4078                 YYDEBUG(275, *YYCURSOR);
4079                 yyleng = YYCURSOR - SCNG(yy_text);
4080 #line 477 "Zend/zend_ini_scanner.l"
4081                 {
4082         RETURN_TOKEN(NULL_NULL, "", 0);
4083 }
4084 #line 4085 "Zend/zend_ini_scanner.c"
4085 yy276:
4086                 YYDEBUG(276, *YYCURSOR);
4087                 ++YYCURSOR;
4088                 YYFILL(1);
4089                 yych = *YYCURSOR;
4090                 YYDEBUG(277, *YYCURSOR);
4091                 if (yych == '\t') goto yy276;
4092                 if (yych == ' ') goto yy276;
4093                 goto yy275;
4094 yy278:
4095                 YYDEBUG(278, *YYCURSOR);
4096                 yyaccept = 4;
4097                 yych = *(YYMARKER = ++YYCURSOR);
4098                 if (yych <= '=') {
4099                         if (yych <= '"') {
4100                                 if (yych <= '\n') {
4101                                         if (yych <= 0x00) goto yy244;
4102                                         if (yych <= 0x08) goto yy251;
4103                                         goto yy244;
4104                                 } else {
4105                                         if (yych == '\r') goto yy244;
4106                                         if (yych <= 0x1F) goto yy251;
4107                                         goto yy244;
4108                                 }
4109                         } else {
4110                                 if (yych <= '9') {
4111                                         if (yych <= '%') goto yy251;
4112                                         if (yych <= ')') goto yy244;
4113                                         if (yych <= '/') goto yy251;
4114                                         goto yy252;
4115                                 } else {
4116                                         if (yych == ';') goto yy244;
4117                                         if (yych <= '<') goto yy251;
4118                                         goto yy244;
4119                                 }
4120                         }
4121                 } else {
4122                         if (yych <= '`') {
4123                                 if (yych <= 'Z') {
4124                                         if (yych <= '@') goto yy251;
4125                                         if (yych == 'E') goto yy267;
4126                                         goto yy252;
4127                                 } else {
4128                                         if (yych <= ']') goto yy251;
4129                                         if (yych <= '^') goto yy244;
4130                                         if (yych <= '_') goto yy252;
4131                                         goto yy251;
4132                                 }
4133                         } else {
4134                                 if (yych <= '{') {
4135                                         if (yych == 'e') goto yy267;
4136                                         if (yych <= 'z') goto yy252;
4137                                         goto yy251;
4138                                 } else {
4139                                         if (yych == '}') goto yy251;
4140                                         if (yych <= '~') goto yy244;
4141                                         goto yy251;
4142                                 }
4143                         }
4144                 }
4145 yy279:
4146                 YYDEBUG(279, *YYCURSOR);
4147                 yyaccept = 4;
4148                 yych = *(YYMARKER = ++YYCURSOR);
4149                 if (yych <= '=') {
4150                         if (yych <= '"') {
4151                                 if (yych <= '\n') {
4152                                         if (yych <= 0x00) goto yy244;
4153                                         if (yych <= 0x08) goto yy251;
4154                                         goto yy244;
4155                                 } else {
4156                                         if (yych == '\r') goto yy244;
4157                                         if (yych <= 0x1F) goto yy251;
4158                                         goto yy244;
4159                                 }
4160                         } else {
4161                                 if (yych <= '9') {
4162                                         if (yych <= '%') goto yy251;
4163                                         if (yych <= ')') goto yy244;
4164                                         if (yych <= '/') goto yy251;
4165                                         goto yy252;
4166                                 } else {
4167                                         if (yych == ';') goto yy244;
4168                                         if (yych <= '<') goto yy251;
4169                                         goto yy244;
4170                                 }
4171                         }
4172                 } else {
4173                         if (yych <= '`') {
4174                                 if (yych <= 'Z') {
4175                                         if (yych <= '@') goto yy251;
4176                                         if (yych != 'L') goto yy252;
4177                                 } else {
4178                                         if (yych <= ']') goto yy251;
4179                                         if (yych <= '^') goto yy244;
4180                                         if (yych <= '_') goto yy252;
4181                                         goto yy251;
4182                                 }
4183                         } else {
4184                                 if (yych <= '{') {
4185                                         if (yych == 'l') goto yy280;
4186                                         if (yych <= 'z') goto yy252;
4187                                         goto yy251;
4188                                 } else {
4189                                         if (yych == '}') goto yy251;
4190                                         if (yych <= '~') goto yy244;
4191                                         goto yy251;
4192                                 }
4193                         }
4194                 }
4195 yy280:
4196                 YYDEBUG(280, *YYCURSOR);
4197                 yyaccept = 4;
4198                 yych = *(YYMARKER = ++YYCURSOR);
4199                 if (yych <= '=') {
4200                         if (yych <= '"') {
4201                                 if (yych <= '\n') {
4202                                         if (yych <= 0x00) goto yy244;
4203                                         if (yych <= 0x08) goto yy251;
4204                                         goto yy244;
4205                                 } else {
4206                                         if (yych == '\r') goto yy244;
4207                                         if (yych <= 0x1F) goto yy251;
4208                                         goto yy244;
4209                                 }
4210                         } else {
4211                                 if (yych <= '9') {
4212                                         if (yych <= '%') goto yy251;
4213                                         if (yych <= ')') goto yy244;
4214                                         if (yych <= '/') goto yy251;
4215                                         goto yy252;
4216                                 } else {
4217                                         if (yych == ';') goto yy244;
4218                                         if (yych <= '<') goto yy251;
4219                                         goto yy244;
4220                                 }
4221                         }
4222                 } else {
4223                         if (yych <= '`') {
4224                                 if (yych <= 'Z') {
4225                                         if (yych <= '@') goto yy251;
4226                                         if (yych != 'S') goto yy252;
4227                                 } else {
4228                                         if (yych <= ']') goto yy251;
4229                                         if (yych <= '^') goto yy244;
4230                                         if (yych <= '_') goto yy252;
4231                                         goto yy251;
4232                                 }
4233                         } else {
4234                                 if (yych <= '{') {
4235                                         if (yych == 's') goto yy281;
4236                                         if (yych <= 'z') goto yy252;
4237                                         goto yy251;
4238                                 } else {
4239                                         if (yych == '}') goto yy251;
4240                                         if (yych <= '~') goto yy244;
4241                                         goto yy251;
4242                                 }
4243                         }
4244                 }
4245 yy281:
4246                 YYDEBUG(281, *YYCURSOR);
4247                 yyaccept = 4;
4248                 yych = *(YYMARKER = ++YYCURSOR);
4249                 if (yych <= '=') {
4250                         if (yych <= '"') {
4251                                 if (yych <= '\n') {
4252                                         if (yych <= 0x00) goto yy244;
4253                                         if (yych <= 0x08) goto yy251;
4254                                         goto yy244;
4255                                 } else {
4256                                         if (yych == '\r') goto yy244;
4257                                         if (yych <= 0x1F) goto yy251;
4258                                         goto yy244;
4259                                 }
4260                         } else {
4261                                 if (yych <= '9') {
4262                                         if (yych <= '%') goto yy251;
4263                                         if (yych <= ')') goto yy244;
4264                                         if (yych <= '/') goto yy251;
4265                                         goto yy252;
4266                                 } else {
4267                                         if (yych == ';') goto yy244;
4268                                         if (yych <= '<') goto yy251;
4269                                         goto yy244;
4270                                 }
4271                         }
4272                 } else {
4273                         if (yych <= '`') {
4274                                 if (yych <= 'Z') {
4275                                         if (yych <= '@') goto yy251;
4276                                         if (yych == 'E') goto yy267;
4277                                         goto yy252;
4278                                 } else {
4279                                         if (yych <= ']') goto yy251;
4280                                         if (yych <= '^') goto yy244;
4281                                         if (yych <= '_') goto yy252;
4282                                         goto yy251;
4283                                 }
4284                         } else {
4285                                 if (yych <= '{') {
4286                                         if (yych == 'e') goto yy267;
4287                                         if (yych <= 'z') goto yy252;
4288                                         goto yy251;
4289                                 } else {
4290                                         if (yych == '}') goto yy251;
4291                                         if (yych <= '~') goto yy244;
4292                                         goto yy251;
4293                                 }
4294                         }
4295                 }
4296 yy282:
4297                 YYDEBUG(282, *YYCURSOR);
4298                 ++YYCURSOR;
4299                 YYFILL(2);
4300                 yych = *YYCURSOR;
4301 yy283:
4302                 YYDEBUG(283, *YYCURSOR);
4303                 if (yybm[0+yych] & 32) {
4304                         goto yy282;
4305                 }
4306                 if (yych >= '\r') goto yy286;
4307 yy284:
4308                 YYDEBUG(284, *YYCURSOR);
4309                 ++YYCURSOR;
4310 yy285:
4311                 YYDEBUG(285, *YYCURSOR);
4312                 yyleng = YYCURSOR - SCNG(yy_text);
4313 #line 637 "Zend/zend_ini_scanner.l"
4314                 { /* Comment */
4315         BEGIN(INITIAL);
4316         SCNG(lineno)++;
4317         return END_OF_LINE;
4318 }
4319 #line 4320 "Zend/zend_ini_scanner.c"
4320 yy286:
4321                 YYDEBUG(286, *YYCURSOR);
4322                 yych = *++YYCURSOR;
4323                 if (yych == '\n') goto yy284;
4324                 goto yy285;
4325 yy287:
4326                 YYDEBUG(287, *YYCURSOR);
4327                 yyaccept = 3;
4328                 YYMARKER = ++YYCURSOR;
4329                 YYFILL(1);
4330                 yych = *YYCURSOR;
4331                 YYDEBUG(288, *YYCURSOR);
4332                 if (yybm[0+yych] & 64) {
4333                         goto yy287;
4334                 }
4335                 if (yych <= ')') {
4336                         if (yych <= '\r') {
4337                                 if (yych <= 0x08) {
4338                                         if (yych <= 0x00) goto yy239;
4339                                         goto yy250;
4340                                 } else {
4341                                         if (yych <= '\n') goto yy239;
4342                                         if (yych <= '\f') goto yy250;
4343                                         goto yy239;
4344                                 }
4345                         } else {
4346                                 if (yych <= '#') {
4347                                         if (yych <= 0x1F) goto yy250;
4348                                         if (yych <= '"') goto yy239;
4349                                         goto yy250;
4350                                 } else {
4351                                         if (yych <= '$') goto yy255;
4352                                         if (yych <= '%') goto yy250;
4353                                         goto yy239;
4354                                 }
4355                         }
4356                 } else {
4357                         if (yych <= ']') {
4358                                 if (yych <= ';') {
4359                                         if (yych <= ':') goto yy250;
4360                                         goto yy239;
4361                                 } else {
4362                                         if (yych == '=') goto yy239;
4363                                         goto yy250;
4364                                 }
4365                         } else {
4366                                 if (yych <= '|') {
4367                                         if (yych <= '^') goto yy239;
4368                                         if (yych <= '{') goto yy250;
4369                                         goto yy239;
4370                                 } else {
4371                                         if (yych == '~') goto yy239;
4372                                         goto yy250;
4373                                 }
4374                         }
4375                 }
4376 yy289:
4377                 YYDEBUG(289, *YYCURSOR);
4378                 yyaccept = 3;
4379                 YYMARKER = ++YYCURSOR;
4380                 YYFILL(1);
4381                 yych = *YYCURSOR;
4382                 YYDEBUG(290, *YYCURSOR);
4383                 if (yych <= '.') {
4384                         if (yych <= 0x1F) {
4385                                 if (yych <= '\n') {
4386                                         if (yych <= 0x00) goto yy239;
4387                                         if (yych <= 0x08) goto yy250;
4388                                         goto yy239;
4389                                 } else {
4390                                         if (yych == '\r') goto yy239;
4391                                         goto yy250;
4392                                 }
4393                         } else {
4394                                 if (yych <= '$') {
4395                                         if (yych <= '"') goto yy239;
4396                                         if (yych <= '#') goto yy250;
4397                                         goto yy255;
4398                                 } else {
4399                                         if (yych <= '%') goto yy250;
4400                                         if (yych <= ')') goto yy239;
4401                                         if (yych <= '-') goto yy250;
4402                                         goto yy287;
4403                                 }
4404                         }
4405                 } else {
4406                         if (yych <= '=') {
4407                                 if (yych <= ':') {
4408                                         if (yych <= '/') goto yy250;
4409                                         if (yych <= '9') goto yy289;
4410                                         goto yy250;
4411                                 } else {
4412                                         if (yych == '<') goto yy250;
4413                                         goto yy239;
4414                                 }
4415                         } else {
4416                                 if (yych <= '{') {
4417                                         if (yych == '^') goto yy239;
4418                                         goto yy250;
4419                                 } else {
4420                                         if (yych == '}') goto yy250;
4421                                         if (yych <= '~') goto yy239;
4422                                         goto yy250;
4423                                 }
4424                         }
4425                 }
4426 yy291:
4427                 YYDEBUG(291, *YYCURSOR);
4428                 yyaccept = 3;
4429                 YYMARKER = ++YYCURSOR;
4430                 YYFILL(1);
4431                 yych = *YYCURSOR;
4432                 YYDEBUG(292, *YYCURSOR);
4433                 if (yych <= '/') {
4434                         if (yych <= 0x1F) {
4435                                 if (yych <= '\n') {
4436                                         if (yych <= 0x00) goto yy239;
4437                                         if (yych <= 0x08) goto yy250;
4438                                         goto yy239;
4439                                 } else {
4440                                         if (yych == '\r') goto yy239;
4441                                         goto yy250;
4442                                 }
4443                         } else {
4444                                 if (yych <= '$') {
4445                                         if (yych <= '"') goto yy239;
4446                                         if (yych <= '#') goto yy250;
4447                                         goto yy255;
4448                                 } else {
4449                                         if (yych <= '%') goto yy250;
4450                                         if (yych <= ')') goto yy239;
4451                                         goto yy250;
4452                                 }
4453                         }
4454                 } else {
4455                         if (yych <= ']') {
4456                                 if (yych <= ';') {
4457                                         if (yych <= '9') goto yy291;
4458                                         if (yych <= ':') goto yy250;
4459                                         goto yy239;
4460                                 } else {
4461                                         if (yych == '=') goto yy239;
4462                                         goto yy250;
4463                                 }
4464                         } else {
4465                                 if (yych <= '|') {
4466                                         if (yych <= '^') goto yy239;
4467                                         if (yych <= '{') goto yy250;
4468                                         goto yy239;
4469                                 } else {
4470                                         if (yych == '~') goto yy239;
4471                                         goto yy250;
4472                                 }
4473                         }
4474                 }
4475 yy293:
4476                 YYDEBUG(293, *YYCURSOR);
4477                 yyaccept = 3;
4478                 YYMARKER = ++YYCURSOR;
4479                 YYFILL(1);
4480                 yych = *YYCURSOR;
4481                 YYDEBUG(294, *YYCURSOR);
4482                 if (yych <= '/') {
4483                         if (yych <= 0x1F) {
4484                                 if (yych <= '\n') {
4485                                         if (yych <= 0x00) goto yy239;
4486                                         if (yych <= 0x08) goto yy250;
4487                                         goto yy239;
4488                                 } else {
4489                                         if (yych == '\r') goto yy239;
4490                                         goto yy250;
4491                                 }
4492                         } else {
4493                                 if (yych <= '$') {
4494                                         if (yych <= '"') goto yy239;
4495                                         if (yych <= '#') goto yy250;
4496                                         goto yy255;
4497                                 } else {
4498                                         if (yych <= '%') goto yy250;
4499                                         if (yych <= ')') goto yy239;
4500                                         goto yy250;
4501                                 }
4502                         }
4503                 } else {
4504                         if (yych <= ']') {
4505                                 if (yych <= ';') {
4506                                         if (yych <= '9') goto yy293;
4507                                         if (yych <= ':') goto yy250;
4508                                         goto yy239;
4509                                 } else {
4510                                         if (yych == '=') goto yy239;
4511                                         goto yy250;
4512                                 }
4513                         } else {
4514                                 if (yych <= '|') {
4515                                         if (yych <= '^') goto yy239;
4516                                         if (yych <= '{') goto yy250;
4517                                         goto yy239;
4518                                 } else {
4519                                         if (yych == '~') goto yy239;
4520                                         goto yy250;
4521                                 }
4522                         }
4523                 }
4524 yy295:
4525                 YYDEBUG(295, *YYCURSOR);
4526                 ++YYCURSOR;
4527                 YYFILL(1);
4528                 yych = *YYCURSOR;
4529                 YYDEBUG(296, *YYCURSOR);
4530                 if (yybm[0+yych] & 128) {
4531                         goto yy295;
4532                 }
4533                 YYDEBUG(297, *YYCURSOR);
4534                 ++YYCURSOR;
4535                 YYDEBUG(298, *YYCURSOR);
4536                 yyleng = YYCURSOR - SCNG(yy_text);
4537 #line 416 "Zend/zend_ini_scanner.l"
4538                 { /* Raw string */
4539         /* Eat leading and trailing single quotes */
4540         if (yytext[0] == '\'' && yytext[yyleng - 1] == '\'') {
4541                 SCNG(yy_text)++;
4542                 yyleng = yyleng - 2;
4543         }
4544         RETURN_TOKEN(TC_RAW, yytext, yyleng);
4545 }
4546 #line 4547 "Zend/zend_ini_scanner.c"
4547 yy299:
4548                 YYDEBUG(299, *YYCURSOR);
4549                 ++YYCURSOR;
4550                 YYDEBUG(300, *YYCURSOR);
4551                 yyleng = YYCURSOR - SCNG(yy_text);
4552 #line 449 "Zend/zend_ini_scanner.l"
4553                 { /* Variable start */
4554         yy_push_state(ST_VARNAME);
4555         return TC_DOLLAR_CURLY;
4556 }
4557 #line 4558 "Zend/zend_ini_scanner.c"
4558 yy301:
4559                 YYDEBUG(301, *YYCURSOR);
4560                 ++YYCURSOR;
4561                 YYFILL(1);
4562                 yych = *YYCURSOR;
4563 yy302:
4564                 YYDEBUG(302, *YYCURSOR);
4565                 if (yych == '\t') goto yy301;
4566                 if (yych == ' ') goto yy301;
4567                 goto yy231;
4568 yy303:
4569                 YYDEBUG(303, *YYCURSOR);
4570                 yych = *++YYCURSOR;
4571                 goto yy228;
4572 yy304:
4573                 YYDEBUG(304, *YYCURSOR);
4574                 yyaccept = 1;
4575                 YYMARKER = ++YYCURSOR;
4576                 YYFILL(2);
4577                 yych = *YYCURSOR;
4578 yy305:
4579                 YYDEBUG(305, *YYCURSOR);
4580                 if (yych <= 0x1F) {
4581                         if (yych <= '\n') {
4582                                 if (yych <= 0x08) goto yy226;
4583                                 if (yych <= '\t') goto yy304;
4584                                 goto yy303;
4585                         } else {
4586                                 if (yych == '\r') goto yy307;
4587                                 goto yy226;
4588                         }
4589                 } else {
4590                         if (yych <= '"') {
4591                                 if (yych <= ' ') goto yy304;
4592                                 if (yych <= '!') goto yy226;
4593                         } else {
4594                                 if (yych == ';') goto yy282;
4595                                 goto yy226;
4596                         }
4597                 }
4598                 YYDEBUG(306, *YYCURSOR);
4599                 yych = *++YYCURSOR;
4600                 goto yy233;
4601 yy307:
4602                 YYDEBUG(307, *YYCURSOR);
4603                 ++YYCURSOR;
4604                 if ((yych = *YYCURSOR) == '\n') goto yy303;
4605                 goto yy228;
4606         }
4607 /* *********************************** */
4608 yyc_ST_VARNAME:
4609         {
4610                 static const unsigned char yybm[] = {
4611                         128, 128, 128, 128, 128, 128, 128, 128, 
4612                         128,   0,   0, 128, 128,   0, 128, 128, 
4613                         128, 128, 128, 128, 128, 128, 128, 128, 
4614                         128, 128, 128, 128, 128, 128, 128, 128, 
4615                         128,   0,   0, 128,   0, 128,   0, 128, 
4616                           0,   0, 128, 128, 128, 128, 128, 128, 
4617                         128, 128, 128, 128, 128, 128, 128, 128, 
4618                         128, 128, 128,   0, 128,   0, 128, 128, 
4619                         128, 128, 128, 128, 128, 128, 128, 128, 
4620                         128, 128, 128, 128, 128, 128, 128, 128, 
4621                         128, 128, 128, 128, 128, 128, 128, 128, 
4622                         128, 128, 128,   0, 128, 128,   0, 128, 
4623                         128, 128, 128, 128, 128, 128, 128, 128, 
4624                         128, 128, 128, 128, 128, 128, 128, 128, 
4625                         128, 128, 128, 128, 128, 128, 128, 128, 
4626                         128, 128, 128,   0,   0,   0,   0, 128, 
4627                         128, 128, 128, 128, 128, 128, 128, 128, 
4628                         128, 128, 128, 128, 128, 128, 128, 128, 
4629                         128, 128, 128, 128, 128, 128, 128, 128, 
4630                         128, 128, 128, 128, 128, 128, 128, 128, 
4631                         128, 128, 128, 128, 128, 128, 128, 128, 
4632                         128, 128, 128, 128, 128, 128, 128, 128, 
4633                         128, 128, 128, 128, 128, 128, 128, 128, 
4634                         128, 128, 128, 128, 128, 128, 128, 128, 
4635                         128, 128, 128, 128, 128, 128, 128, 128, 
4636                         128, 128, 128, 128, 128, 128, 128, 128, 
4637                         128, 128, 128, 128, 128, 128, 128, 128, 
4638                         128, 128, 128, 128, 128, 128, 128, 128, 
4639                         128, 128, 128, 128, 128, 128, 128, 128, 
4640                         128, 128, 128, 128, 128, 128, 128, 128, 
4641                         128, 128, 128, 128, 128, 128, 128, 128, 
4642                         128, 128, 128, 128, 128, 128, 128, 128, 
4643                 };
4644                 YYDEBUG(308, *YYCURSOR);
4645                 YYFILL(2);
4646                 yych = *YYCURSOR;
4647                 if (yych <= ')') {
4648                         if (yych <= '"') {
4649                                 if (yych <= '\f') {
4650                                         if (yych <= 0x08) goto yy310;
4651                                         if (yych <= '\n') goto yy312;
4652                                 } else {
4653                                         if (yych <= '\r') goto yy312;
4654                                         if (yych >= '!') goto yy312;
4655                                 }
4656                         } else {
4657                                 if (yych <= '%') {
4658                                         if (yych == '$') goto yy312;
4659                                 } else {
4660                                         if (yych != '\'') goto yy312;
4661                                 }
4662                         }
4663                 } else {
4664                         if (yych <= '[') {
4665                                 if (yych <= '<') {
4666                                         if (yych == ';') goto yy312;
4667                                 } else {
4668                                         if (yych <= '=') goto yy312;
4669                                         if (yych >= '[') goto yy312;
4670                                 }
4671                         } else {
4672                                 if (yych <= 'z') {
4673                                         if (yych == '^') goto yy312;
4674                                 } else {
4675                                         if (yych == '}') goto yy314;
4676                                         if (yych <= '~') goto yy312;
4677                                 }
4678                         }
4679                 }
4680 yy310:
4681                 YYDEBUG(310, *YYCURSOR);
4682                 ++YYCURSOR;
4683                 yych = *YYCURSOR;
4684                 goto yy317;
4685 yy311:
4686                 YYDEBUG(311, *YYCURSOR);
4687                 yyleng = YYCURSOR - SCNG(yy_text);
4688 #line 454 "Zend/zend_ini_scanner.l"
4689                 { /* Variable name */
4690         /* Eat leading whitespace */
4691         EAT_LEADING_WHITESPACE();
4692 
4693         /* Eat trailing whitespace */
4694         EAT_TRAILING_WHITESPACE();
4695 
4696         RETURN_TOKEN(TC_VARNAME, yytext, yyleng);
4697 }
4698 #line 4699 "Zend/zend_ini_scanner.c"
4699 yy312:
4700                 YYDEBUG(312, *YYCURSOR);
4701                 ++YYCURSOR;
4702                 YYDEBUG(313, *YYCURSOR);
4703                 yyleng = YYCURSOR - SCNG(yy_text);
4704 #line 648 "Zend/zend_ini_scanner.l"
4705                 {
4706         return 0;
4707 }
4708 #line 4709 "Zend/zend_ini_scanner.c"
4709 yy314:
4710                 YYDEBUG(314, *YYCURSOR);
4711                 ++YYCURSOR;
4712                 YYDEBUG(315, *YYCURSOR);
4713                 yyleng = YYCURSOR - SCNG(yy_text);
4714 #line 464 "Zend/zend_ini_scanner.l"
4715                 { /* Variable end */
4716         yy_pop_state();
4717         return '}';
4718 }
4719 #line 4720 "Zend/zend_ini_scanner.c"
4720 yy316:
4721                 YYDEBUG(316, *YYCURSOR);
4722                 ++YYCURSOR;
4723                 YYFILL(1);
4724                 yych = *YYCURSOR;
4725 yy317:
4726                 YYDEBUG(317, *YYCURSOR);
4727                 if (yybm[0+yych] & 128) {
4728                         goto yy316;
4729                 }
4730                 goto yy311;
4731         }
4732 }
4733 #line 652 "Zend/zend_ini_scanner.l"
4734 
4735 }

/* [<][>][^][v][top][bottom][index][help] */