xref: /PHP-5.6/Zend/zend_ini_scanner.c (revision 3537e95d)
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 
convert_to_number(zval * retval,const char * str,const int str_len)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 
zend_ini_copy_typed_value(zval * retval,const int type,const char * str,int len)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 
_yy_push_state(int new_state TSRMLS_DC)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 
yy_pop_state(TSRMLS_D)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 
yy_scan_buffer(char * str,unsigned int len TSRMLS_DC)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 */
init_ini_scanner(int scanner_mode,zend_file_handle * fh TSRMLS_DC)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 */
shutdown_ini_scanner(TSRMLS_D)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 */
zend_ini_scanner_get_lineno(TSRMLS_D)259 int zend_ini_scanner_get_lineno(TSRMLS_D)
260 {
261 	return SCNG(lineno);
262 }
263 /* }}} */
264 
265 /* {{{ zend_ini_scanner_get_filename()
266 */
zend_ini_scanner_get_filename(TSRMLS_D)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 */
zend_ini_open_file_for_scanning(zend_file_handle * fh,int scanner_mode TSRMLS_DC)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 */
zend_ini_prepare_string_for_scanning(char * str,int scanner_mode TSRMLS_DC)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  */
zend_ini_escape_string(zval * lval,char * str,int len,char quote_type TSRMLS_DC)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 
ini_lex(zval * ini_lval TSRMLS_DC)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 }
4829