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