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

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