]> granicus.if.org Git - re2c/commitdiff
Added tests for occasionally fixed bug in code generation.
authorUlya Trofimovich <skvadrik@gmail.com>
Wed, 12 Aug 2015 12:52:57 +0000 (13:52 +0100)
committerUlya Trofimovich <skvadrik@gmail.com>
Wed, 12 Aug 2015 12:52:57 +0000 (13:52 +0100)
The bug was triggered by the following conditions: '-b'
(or any flag that implies '-b') and encoding with code units
wider than 1 byte (that is, UTF-16, UTF-32 and UCS-2).

The bug itself: re2c omitted 'goto <some state>;' when it
should have been generated. The absense of goto caused incorrect
control flow. One cas verify it in two ways using the minimal test
added by this commit:
    - manually compare the code generated before and after fix
      and ensure that newer version generates correct code;
    - run the test with --skeleton, then try to add/remove
      the goto statement, compile and run: the code without
      goto will fail, the code with goto will not;

git-bisected commit which fixed bug:
    commit e42003d80529ab53413459c41a51114c7d437822
    Author: Ulya Trofimovich <skvadrik@gmail.com>
    Date:   Wed Mar 11 12:46:58 2015 +0000

        Pass limited span instead of checking range all the time.

Also gound commit that introduced bug:
    commit d10fb601f3ba257bae0845945daf1dfa754d6146
    Author: helly <helly@642ea486-5414-0410-9d7f-a0204ed87703>
    Date:   Fri Dec 30 16:24:07 2005 +0000

        - Allow to use -w with -b
        # Still quite some work to do but it is possible

re2c/test/php20150211_zend_ini_scanner_trimmed.icF.c [new file with mode: 0644]
re2c/test/php20150211_zend_ini_scanner_trimmed.icF.re [new file with mode: 0644]
re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.c [new file with mode: 0644]
re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.re [new file with mode: 0644]
re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c [new file with mode: 0644]
re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.re [new file with mode: 0644]

diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed.icF.c b/re2c/test/php20150211_zend_ini_scanner_trimmed.icF.c
new file mode 100644 (file)
index 0000000..90dc61a
--- /dev/null
@@ -0,0 +1,4150 @@
+/* Generated by re2c */
+
+{
+       YYCTYPE yych;
+       unsigned int yyaccept = 0;
+       switch (YYGETCONDITION()) {
+       case yycINITIAL: goto yyc_INITIAL;
+       case yycST_DOUBLE_QUOTES: goto yyc_ST_DOUBLE_QUOTES;
+       case yycST_OFFSET: goto yyc_ST_OFFSET;
+       case yycST_RAW: goto yyc_ST_RAW;
+       case yycST_SECTION_RAW: goto yyc_ST_SECTION_RAW;
+       case yycST_SECTION_VALUE: goto yyc_ST_SECTION_VALUE;
+       case yycST_VALUE: goto yyc_ST_VALUE;
+       case yycST_VARNAME: goto yyc_ST_VARNAME;
+       }
+/* *********************************** */
+yyc_INITIAL:
+       YYFILL(5);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy5;
+       case '\n':      goto yy7;
+       case '\r':      goto yy9;
+       case ' ':       goto yy10;
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy11;
+       case '%':
+       case '\'':
+       case '*':
+       case '+':
+       case ',':
+       case '-':
+       case '.':
+       case '/':
+       case ':':
+       case '<':
+       case '>':
+       case '?':
+       case '@':
+       case ']':       goto yy13;
+       case ';':       goto yy14;
+       case '=':       goto yy16;
+       case '[':       goto yy18;
+       case 'f':       goto yy20;
+       case 'n':       goto yy21;
+       case 'o':       goto yy22;
+       case 't':       goto yy23;
+       case 'y':       goto yy24;
+       default:        goto yy3;
+       }
+yy3:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy26;
+yy4:
+       {}
+yy5:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy64;
+yy6:
+       {}
+yy7:
+       ++YYCURSOR;
+yy8:
+       {}
+yy9:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy67;
+       default:        goto yy8;
+       }
+yy10:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy63;
+       case '\n':      goto yy67;
+       case '\r':      goto yy68;
+       case ' ':       goto yy65;
+       case ';':       goto yy58;
+       case '=':       goto yy56;
+       default:        goto yy26;
+       }
+yy11:
+       ++YYCURSOR;
+       {}
+yy13:
+       yych = *++YYCURSOR;
+       goto yy26;
+yy14:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy59;
+       {}
+yy16:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy57;
+yy17:
+       {}
+yy18:
+       ++YYCURSOR;
+       {}
+yy20:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'a':       goto yy53;
+       default:        goto yy26;
+       }
+yy21:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'o':       goto yy44;
+       case 'u':       goto yy45;
+       default:        goto yy26;
+       }
+yy22:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'f':       goto yy38;
+       case 'n':       goto yy31;
+       default:        goto yy26;
+       }
+yy23:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'r':       goto yy36;
+       default:        goto yy26;
+       }
+yy24:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'e':       goto yy27;
+       default:        goto yy26;
+       }
+yy25:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy26:
+       switch (yych) {
+       case '\t':
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy4;
+       case '[':       goto yy28;
+       default:        goto yy25;
+       }
+yy27:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 's':       goto yy31;
+       default:        goto yy26;
+       }
+yy28:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy28;
+       default:        goto yy30;
+       }
+yy30:
+       {}
+yy31:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy34;
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy33;
+       case ' ':       goto yy31;
+       case '[':       goto yy28;
+       default:        goto yy25;
+       }
+yy33:
+       {}
+yy34:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy34;
+       default:        goto yy33;
+       }
+yy36:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'u':       goto yy37;
+       default:        goto yy26;
+       }
+yy37:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'e':       goto yy31;
+       default:        goto yy26;
+       }
+yy38:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'f':       goto yy39;
+       default:        goto yy26;
+       }
+yy39:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy42;
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy41;
+       case ' ':       goto yy39;
+       case '[':       goto yy28;
+       default:        goto yy25;
+       }
+yy41:
+       {}
+yy42:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy42;
+       default:        goto yy41;
+       }
+yy44:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy42;
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy41;
+       case ' ':       goto yy39;
+       case 'n':       goto yy52;
+       default:        goto yy26;
+       }
+yy45:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'l':       goto yy46;
+       default:        goto yy26;
+       }
+yy46:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'l':       goto yy47;
+       default:        goto yy26;
+       }
+yy47:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy50;
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy49;
+       case ' ':       goto yy47;
+       case '[':       goto yy28;
+       default:        goto yy25;
+       }
+yy49:
+       {}
+yy50:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy50;
+       default:        goto yy49;
+       }
+yy52:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'e':       goto yy39;
+       default:        goto yy26;
+       }
+yy53:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'l':       goto yy54;
+       default:        goto yy26;
+       }
+yy54:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 's':       goto yy55;
+       default:        goto yy26;
+       }
+yy55:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 'e':       goto yy39;
+       default:        goto yy26;
+       }
+yy56:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy57:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy56;
+       default:        goto yy17;
+       }
+yy58:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy59:
+       switch (yych) {
+       case '\n':      goto yy60;
+       case '\r':      goto yy62;
+       default:        goto yy58;
+       }
+yy60:
+       ++YYCURSOR;
+yy61:
+       {}
+yy62:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy60;
+       default:        goto yy61;
+       }
+yy63:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy64:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy63;
+       case '\n':      goto yy67;
+       case '\r':      goto yy68;
+       case ';':       goto yy58;
+       case '=':       goto yy56;
+       default:        goto yy6;
+       }
+yy65:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy63;
+       case '\n':      goto yy67;
+       case '\r':      goto yy68;
+       case ' ':       goto yy65;
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy4;
+       case ';':       goto yy58;
+       case '=':       goto yy56;
+       case '[':       goto yy28;
+       default:        goto yy25;
+       }
+yy67:
+       yych = *++YYCURSOR;
+       goto yy8;
+yy68:
+       ++YYCURSOR;
+       switch ((yych = *YYCURSOR)) {
+       case '\n':      goto yy67;
+       default:        goto yy8;
+       }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+       YYFILL(2);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '"':       goto yy73;
+       case '$':       goto yy75;
+       default:        goto yy71;
+       }
+yy71:
+       ++YYCURSOR;
+yy72:
+       {}
+yy73:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy79;
+yy74:
+       {}
+yy75:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '{':       goto yy76;
+       default:        goto yy72;
+       }
+yy76:
+       ++YYCURSOR;
+       {}
+yy78:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy79:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy78;
+       default:        goto yy74;
+       }
+/* *********************************** */
+yyc_ST_OFFSET:
+       YYFILL(2);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy84;
+       case '\n':
+       case '\r':
+       case ';':       goto yy85;
+       case '"':       goto yy87;
+       case '$':       goto yy89;
+       case '\'':      goto yy90;
+       case '-':       goto yy91;
+       case '.':       goto yy92;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy93;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy95;
+       case '\\':      goto yy97;
+       case ']':       goto yy98;
+       default:        goto yy82;
+       }
+yy82:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       goto yy101;
+yy83:
+       {}
+yy84:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy127;
+       case '"':       goto yy129;
+       case ']':       goto yy130;
+       default:        goto yy101;
+       }
+yy85:
+       ++YYCURSOR;
+yy86:
+       {}
+yy87:
+       ++YYCURSOR;
+yy88:
+       {}
+yy89:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy86;
+       case '\\':      goto yy105;
+       case '{':       goto yy125;
+       default:        goto yy100;
+       }
+yy90:
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\'':      goto yy86;
+       default:        goto yy121;
+       }
+yy91:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy119;
+       default:        goto yy101;
+       }
+yy92:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy117;
+       default:        goto yy101;
+       }
+yy93:
+       yyaccept = 2;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy94;
+       case '.':       goto yy113;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy115;
+       default:        goto yy101;
+       }
+yy94:
+       {}
+yy95:
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy96;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy111;
+       default:        goto yy101;
+       }
+yy96:
+       {}
+yy97:
+       yych = *++YYCURSOR;
+       goto yy100;
+yy98:
+       ++YYCURSOR;
+yy99:
+       {}
+yy100:
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy101:
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy83;
+       case '$':       goto yy103;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy102:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       goto yy100;
+yy103:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '{':       goto yy104;
+       case '\\':      goto yy105;
+       default:        goto yy100;
+       }
+yy104:
+       YYCURSOR = YYMARKER;
+       switch (yyaccept) {
+       case 0:         goto yy83;
+       case 1:         goto yy86;
+       case 2:         goto yy94;
+       default:        goto yy96;
+       }
+yy105:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy106;
+       case '\\':      goto yy108;
+       default:        goto yy100;
+       }
+yy106:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy106;
+       case '\\':      goto yy110;
+       default:        goto yy100;
+       }
+yy108:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy106;
+       case '\\':      goto yy108;
+       default:        goto yy100;
+       }
+yy110:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy106;
+       case '\\':      goto yy108;
+       default:        goto yy100;
+       }
+yy111:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy96;
+       case '$':       goto yy103;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy111;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy113:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy94;
+       case '$':       goto yy103;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy113;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy115:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy94;
+       case '$':       goto yy103;
+       case '.':       goto yy113;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy115;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy117:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy94;
+       case '$':       goto yy103;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy117;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy119:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy94;
+       case '$':       goto yy103;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy119;
+       case '\\':      goto yy102;
+       default:        goto yy100;
+       }
+yy121:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\'':      goto yy123;
+       default:        goto yy121;
+       }
+yy123:
+       ++YYCURSOR;
+       {}
+yy125:
+       ++YYCURSOR;
+       {}
+yy127:
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy127;
+       case '\n':
+       case '\r':
+       case '\'':
+       case ';':       goto yy83;
+       case '"':       goto yy129;
+       case '$':       goto yy103;
+       case '\\':      goto yy102;
+       case ']':       goto yy130;
+       default:        goto yy100;
+       }
+yy129:
+       yych = *++YYCURSOR;
+       goto yy88;
+yy130:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy99;
+/* *********************************** */
+yyc_ST_RAW:
+       YYFILL(3);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy133;
+       case '\t':
+       case ' ':       goto yy137;
+       case '\n':      goto yy138;
+       case '\r':      goto yy140;
+       case ';':       goto yy141;
+       default:        goto yy135;
+       }
+yy133:
+       ++YYCURSOR;
+       {}
+yy135:
+       ++YYCURSOR;
+yy136:
+       {}
+yy137:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case ';':       goto yy149;
+       default:        goto yy136;
+       }
+yy138:
+       ++YYCURSOR;
+yy139:
+       {}
+yy140:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy147;
+       default:        goto yy139;
+       }
+yy141:
+       yych = *++YYCURSOR;
+       goto yy143;
+yy142:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy143:
+       switch (yych) {
+       case '\n':      goto yy144;
+       case '\r':      goto yy146;
+       default:        goto yy142;
+       }
+yy144:
+       ++YYCURSOR;
+yy145:
+       {}
+yy146:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy144;
+       default:        goto yy145;
+       }
+yy147:
+       yych = *++YYCURSOR;
+       goto yy139;
+yy148:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy149:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy148;
+       case '\n':      goto yy147;
+       case '\r':      goto yy151;
+       case ';':       goto yy142;
+       default:        goto yy150;
+       }
+yy150:
+       {}
+yy151:
+       ++YYCURSOR;
+       switch ((yych = *YYCURSOR)) {
+       case '\n':      goto yy147;
+       default:        goto yy139;
+       }
+/* *********************************** */
+yyc_ST_SECTION_RAW:
+       YYFILL(3);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':      goto yy156;
+       case ']':       goto yy158;
+       default:        goto yy154;
+       }
+yy154:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy165;
+yy155:
+       {}
+yy156:
+       ++YYCURSOR;
+       {}
+yy158:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy161;
+yy159:
+       {}
+yy160:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy161:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy160;
+       case '\n':      goto yy162;
+       case '\r':      goto yy163;
+       default:        goto yy159;
+       }
+yy162:
+       yych = *++YYCURSOR;
+       goto yy159;
+yy163:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy162;
+       default:        goto yy159;
+       }
+yy164:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy165:
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case ']':       goto yy155;
+       default:        goto yy164;
+       }
+/* *********************************** */
+yyc_ST_SECTION_VALUE:
+       YYFILL(3);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy170;
+       case '\n':
+       case '\r':
+       case ';':       goto yy171;
+       case '"':       goto yy173;
+       case '$':       goto yy175;
+       case '\'':      goto yy176;
+       case '-':       goto yy177;
+       case '.':       goto yy178;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy179;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy181;
+       case '\\':      goto yy183;
+       case ']':       goto yy184;
+       default:        goto yy168;
+       }
+yy168:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       goto yy191;
+yy169:
+       {}
+yy170:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy217;
+       case '"':       goto yy219;
+       default:        goto yy191;
+       }
+yy171:
+       ++YYCURSOR;
+yy172:
+       {}
+yy173:
+       ++YYCURSOR;
+yy174:
+       {}
+yy175:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy172;
+       case '\\':      goto yy195;
+       case '{':       goto yy215;
+       default:        goto yy190;
+       }
+yy176:
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\'':      goto yy172;
+       default:        goto yy211;
+       }
+yy177:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy209;
+       default:        goto yy191;
+       }
+yy178:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy207;
+       default:        goto yy191;
+       }
+yy179:
+       yyaccept = 2;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy180;
+       case '.':       goto yy203;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy205;
+       default:        goto yy191;
+       }
+yy180:
+       {}
+yy181:
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy182;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy201;
+       default:        goto yy191;
+       }
+yy182:
+       {}
+yy183:
+       yych = *++YYCURSOR;
+       goto yy190;
+yy184:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy187;
+yy185:
+       {}
+yy186:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy187:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy186;
+       case '\n':      goto yy188;
+       case '\r':      goto yy189;
+       default:        goto yy185;
+       }
+yy188:
+       yych = *++YYCURSOR;
+       goto yy185;
+yy189:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy188;
+       default:        goto yy185;
+       }
+yy190:
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy191:
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy169;
+       case '$':       goto yy193;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy192:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       goto yy190;
+yy193:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '{':       goto yy194;
+       case '\\':      goto yy195;
+       default:        goto yy190;
+       }
+yy194:
+       YYCURSOR = YYMARKER;
+       switch (yyaccept) {
+       case 0:         goto yy169;
+       case 1:         goto yy172;
+       case 2:         goto yy180;
+       default:        goto yy182;
+       }
+yy195:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy196;
+       case '\\':      goto yy198;
+       default:        goto yy190;
+       }
+yy196:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy196;
+       case '\\':      goto yy200;
+       default:        goto yy190;
+       }
+yy198:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy196;
+       case '\\':      goto yy198;
+       default:        goto yy190;
+       }
+yy200:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy196;
+       case '\\':      goto yy198;
+       default:        goto yy190;
+       }
+yy201:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy182;
+       case '$':       goto yy193;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy201;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy203:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy180;
+       case '$':       goto yy193;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy203;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy205:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy180;
+       case '$':       goto yy193;
+       case '.':       goto yy203;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy205;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy207:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy180;
+       case '$':       goto yy193;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy207;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy209:
+       yyaccept = 2;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\n':
+       case '\r':
+       case '"':
+       case '\'':
+       case ';':
+       case ']':       goto yy180;
+       case '$':       goto yy193;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy209;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy211:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\'':      goto yy213;
+       default:        goto yy211;
+       }
+yy213:
+       ++YYCURSOR;
+       {}
+yy215:
+       ++YYCURSOR;
+       {}
+yy217:
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy217;
+       case '\n':
+       case '\r':
+       case '\'':
+       case ';':
+       case ']':       goto yy169;
+       case '"':       goto yy219;
+       case '$':       goto yy193;
+       case '\\':      goto yy192;
+       default:        goto yy190;
+       }
+yy219:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy174;
+/* *********************************** */
+yyc_ST_VALUE:
+       YYFILL(6);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy222;
+       case '\t':
+       case ' ':       goto yy226;
+       case '\n':      goto yy228;
+       case '\r':      goto yy230;
+       case '!':
+       case '&':
+       case '(':
+       case ')':
+       case '^':
+       case '|':
+       case '~':       goto yy231;
+       case '"':       goto yy233;
+       case '$':       goto yy235;
+       case '\'':      goto yy236;
+       case '-':       goto yy237;
+       case '.':       goto yy238;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy239;
+       case ';':       goto yy241;
+       case '=':       goto yy242;
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'z':       goto yy244;
+       case 'f':       goto yy246;
+       case 'n':       goto yy247;
+       case 'o':       goto yy248;
+       case 't':       goto yy249;
+       case 'y':       goto yy250;
+       default:        goto yy224;
+       }
+yy222:
+       ++YYCURSOR;
+yy223:
+       {}
+yy224:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       goto yy252;
+yy225:
+       {}
+yy226:
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       goto yy306;
+yy227:
+       {}
+yy228:
+       ++YYCURSOR;
+yy229:
+       {}
+yy230:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy304;
+       default:        goto yy229;
+       }
+yy231:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy303;
+yy232:
+       {}
+yy233:
+       ++YYCURSOR;
+yy234:
+       {}
+yy235:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy223;
+       case '\\':      goto yy258;
+       case '{':       goto yy300;
+       default:        goto yy251;
+       }
+yy236:
+       yyaccept = 2;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\'':      goto yy223;
+       default:        goto yy296;
+       }
+yy237:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy294;
+       default:        goto yy252;
+       }
+yy238:
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy292;
+       default:        goto yy252;
+       }
+yy239:
+       yyaccept = 3;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy240;
+       case '.':       goto yy288;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy290;
+       default:        goto yy252;
+       }
+yy240:
+       {}
+yy241:
+       yyaccept = 2;
+       yych = *(YYMARKER = ++YYCURSOR);
+       goto yy284;
+yy242:
+       ++YYCURSOR;
+       {}
+yy244:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       default:        goto yy252;
+       }
+yy245:
+       {}
+yy246:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'a':       goto yy280;
+       default:        goto yy252;
+       }
+yy247:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'o':       goto yy272;
+       case 'u':       goto yy273;
+       default:        goto yy252;
+       }
+yy248:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'f':       goto yy267;
+       case 'n':       goto yy261;
+       default:        goto yy252;
+       }
+yy249:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'r':       goto yy265;
+       default:        goto yy252;
+       }
+yy250:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'e':       goto yy255;
+       default:        goto yy252;
+       }
+yy251:
+       yyaccept = 0;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy252:
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy225;
+       case '$':       goto yy256;
+       default:        goto yy251;
+       }
+yy253:
+       yyaccept = 4;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '$':       goto yy256;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       default:        goto yy251;
+       }
+yy255:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 's':       goto yy261;
+       default:        goto yy252;
+       }
+yy256:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '{':       goto yy257;
+       case '\\':      goto yy258;
+       default:        goto yy251;
+       }
+yy257:
+       YYCURSOR = YYMARKER;
+       switch (yyaccept) {
+       case 0:         goto yy225;
+       case 1:         goto yy227;
+       case 2:         goto yy223;
+       case 3:         goto yy240;
+       case 4:         goto yy245;
+       case 5:         goto yy262;
+       case 6:         goto yy269;
+       default:        goto yy276;
+       }
+yy258:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '$':       goto yy259;
+       default:        goto yy251;
+       }
+yy259:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:      goto yy225;
+       case '$':       goto yy259;
+       case '\\':      goto yy258;
+       default:        goto yy251;
+       }
+yy261:
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy262;
+       case '\t':
+       case ' ':       goto yy263;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       default:        goto yy252;
+       }
+yy262:
+       {}
+yy263:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy263;
+       default:        goto yy262;
+       }
+yy265:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'u':       goto yy266;
+       default:        goto yy252;
+       }
+yy266:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'e':       goto yy261;
+       default:        goto yy252;
+       }
+yy267:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'f':       goto yy268;
+       default:        goto yy252;
+       }
+yy268:
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy269;
+       case '\t':
+       case ' ':       goto yy270;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       default:        goto yy252;
+       }
+yy269:
+       {}
+yy270:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy270;
+       default:        goto yy269;
+       }
+yy272:
+       yyaccept = 6;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy269;
+       case '\t':
+       case ' ':       goto yy270;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'n':       goto yy279;
+       default:        goto yy252;
+       }
+yy273:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'l':       goto yy274;
+       default:        goto yy252;
+       }
+yy274:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'l':       goto yy275;
+       default:        goto yy252;
+       }
+yy275:
+       yyaccept = 7;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy276;
+       case '\t':
+       case ' ':       goto yy277;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       default:        goto yy252;
+       }
+yy276:
+       {}
+yy277:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy277;
+       default:        goto yy276;
+       }
+yy279:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'e':       goto yy268;
+       default:        goto yy252;
+       }
+yy280:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'l':       goto yy281;
+       default:        goto yy252;
+       }
+yy281:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'e':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 's':       goto yy282;
+       default:        goto yy252;
+       }
+yy282:
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy245;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':
+       case 'A':
+       case 'B':
+       case 'C':
+       case 'D':
+       case 'E':
+       case 'F':
+       case 'G':
+       case 'H':
+       case 'I':
+       case 'J':
+       case 'K':
+       case 'L':
+       case 'M':
+       case 'N':
+       case 'O':
+       case 'P':
+       case 'Q':
+       case 'R':
+       case 'S':
+       case 'T':
+       case 'U':
+       case 'V':
+       case 'W':
+       case 'X':
+       case 'Y':
+       case 'Z':
+       case '_':
+       case 'a':
+       case 'b':
+       case 'c':
+       case 'd':
+       case 'f':
+       case 'g':
+       case 'h':
+       case 'i':
+       case 'j':
+       case 'k':
+       case 'l':
+       case 'm':
+       case 'n':
+       case 'o':
+       case 'p':
+       case 'q':
+       case 'r':
+       case 's':
+       case 't':
+       case 'u':
+       case 'v':
+       case 'w':
+       case 'x':
+       case 'y':
+       case 'z':       goto yy253;
+       case 'e':       goto yy268;
+       default:        goto yy252;
+       }
+yy283:
+       ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy284:
+       switch (yych) {
+       case '\n':      goto yy285;
+       case '\r':      goto yy287;
+       default:        goto yy283;
+       }
+yy285:
+       ++YYCURSOR;
+yy286:
+       {}
+yy287:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy285;
+       default:        goto yy286;
+       }
+yy288:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy240;
+       case '$':       goto yy256;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy288;
+       default:        goto yy251;
+       }
+yy290:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy240;
+       case '$':       goto yy256;
+       case '.':       goto yy288;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy290;
+       default:        goto yy251;
+       }
+yy292:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy240;
+       case '$':       goto yy256;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy292;
+       default:        goto yy251;
+       }
+yy294:
+       yyaccept = 3;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0x00:
+       case '\t':
+       case '\n':
+       case '\r':
+       case ' ':
+       case '!':
+       case '"':
+       case '&':
+       case '\'':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '^':
+       case '|':
+       case '~':       goto yy240;
+       case '$':       goto yy256;
+       case '0':
+       case '1':
+       case '2':
+       case '3':
+       case '4':
+       case '5':
+       case '6':
+       case '7':
+       case '8':
+       case '9':       goto yy294;
+       default:        goto yy251;
+       }
+yy296:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\'':      goto yy298;
+       default:        goto yy296;
+       }
+yy298:
+       ++YYCURSOR;
+       {}
+yy300:
+       ++YYCURSOR;
+       {}
+yy302:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy303:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy302;
+       default:        goto yy232;
+       }
+yy304:
+       yych = *++YYCURSOR;
+       goto yy229;
+yy305:
+       yyaccept = 1;
+       YYMARKER = ++YYCURSOR;
+       YYFILL(2);
+       yych = *YYCURSOR;
+yy306:
+       switch (yych) {
+       case '\t':
+       case ' ':       goto yy305;
+       case '\n':      goto yy304;
+       case '\r':      goto yy308;
+       case '"':       goto yy307;
+       case ';':       goto yy283;
+       default:        goto yy227;
+       }
+yy307:
+       yych = *++YYCURSOR;
+       goto yy234;
+yy308:
+       ++YYCURSOR;
+       switch ((yych = *YYCURSOR)) {
+       case '\n':      goto yy304;
+       default:        goto yy229;
+       }
+/* *********************************** */
+yyc_ST_VARNAME:
+       YYFILL(2);
+       yych = *YYCURSOR;
+       switch (yych) {
+       case '\t':
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '[':
+       case '^':
+       case '{':
+       case '|':
+       case '~':       goto yy313;
+       case '}':       goto yy315;
+       default:        goto yy311;
+       }
+yy311:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       goto yy318;
+yy312:
+       {}
+yy313:
+       ++YYCURSOR;
+       {}
+yy315:
+       ++YYCURSOR;
+       {}
+yy317:
+       ++YYCURSOR;
+       YYFILL(1);
+       yych = *YYCURSOR;
+yy318:
+       switch (yych) {
+       case '\t':
+       case '\n':
+       case '\r':
+       case '!':
+       case '"':
+       case '$':
+       case '&':
+       case '(':
+       case ')':
+       case ';':
+       case '=':
+       case '[':
+       case '^':
+       case '{':
+       case '|':
+       case '}':
+       case '~':       goto yy312;
+       default:        goto yy317;
+       }
+}
+
diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed.icF.re b/re2c/test/php20150211_zend_ini_scanner_trimmed.icF.re
new file mode 100644 (file)
index 0000000..fa5fae2
--- /dev/null
@@ -0,0 +1,56 @@
+/*!re2c
+re2c:yyfill:check = 0;
+LNUM [0-9]+
+DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*)
+NUMBER [-]?{LNUM}|{DNUM}
+ANY_CHAR (.|[\n\t])
+NEWLINE        ("\r"|"\n"|"\r\n")
+TABS_AND_SPACES [ \t]
+WHITESPACE [ \t]+
+CONSTANT [a-zA-Z_][a-zA-Z0-9_]*
+LABEL [^=\n\r\t;&|^$~(){}!"\[]+
+TOKENS [:,.\[\]"'()&|^+-/*=%$!~<>?@{}]
+OPERATORS [&|^~()!]
+DOLLAR_CURLY "${"
+
+SECTION_RAW_CHARS [^\]\n\r]
+SINGLE_QUOTED_CHARS [^']
+RAW_VALUE_CHARS [^\n\r;\000]
+
+LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR})))
+VALUE_CHARS         ([^$= \t\n\r;&|^~()!"'\000]|{LITERAL_DOLLAR})
+SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
+
+<INITIAL>"[" {}
+<ST_VALUE,ST_SECTION_VALUE,ST_OFFSET>"'"{SINGLE_QUOTED_CHARS}+"'" {}
+<ST_SECTION_RAW,ST_SECTION_VALUE>"]"{TABS_AND_SPACES}*{NEWLINE}? {}
+<INITIAL>{LABEL}"["{TABS_AND_SPACES}* {}
+<ST_OFFSET>{TABS_AND_SPACES}*"]" {}
+<ST_DOUBLE_QUOTES,ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{DOLLAR_CURLY} {}
+<ST_VARNAME>{LABEL} {}
+<ST_VARNAME>"}" {}
+<INITIAL,ST_VALUE>("true"|"on"|"yes"){TABS_AND_SPACES}* {}
+<INITIAL,ST_VALUE>("false"|"off"|"no"|"none"){TABS_AND_SPACES}* {}
+<INITIAL,ST_VALUE>("null"){TABS_AND_SPACES}* {}
+<INITIAL>{LABEL} {}
+<INITIAL>{TABS_AND_SPACES}*[=]{TABS_AND_SPACES}* {}
+<ST_RAW>{RAW_VALUE_CHARS} {}
+<ST_SECTION_RAW>{SECTION_RAW_CHARS}+ {}
+<ST_VALUE,ST_RAW>{TABS_AND_SPACES}*{NEWLINE} {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{CONSTANT} {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{NUMBER} {}
+<INITIAL>{TOKENS} {}
+<ST_VALUE>{OPERATORS}{TABS_AND_SPACES}* {}
+<ST_VALUE>[=] {}
+<ST_VALUE>{VALUE_CHARS}+ {}
+<ST_SECTION_VALUE,ST_OFFSET>{SECTION_VALUE_CHARS}+ {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{TABS_AND_SPACES}*["] {}
+<ST_DOUBLE_QUOTES>["]{TABS_AND_SPACES}* {}
+<ST_DOUBLE_QUOTES>[^] {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{WHITESPACE} {}
+<INITIAL,ST_RAW>{TABS_AND_SPACES}+ {}
+<INITIAL>{TABS_AND_SPACES}*{NEWLINE} {}
+<INITIAL,ST_VALUE,ST_RAW>{TABS_AND_SPACES}*[;][^\r\n]*{NEWLINE} {}
+<ST_VALUE,ST_RAW>[^] {}
+<*>[^] {}
+*/
diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.c b/re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.c
new file mode 100644 (file)
index 0000000..b015b38
--- /dev/null
@@ -0,0 +1,3645 @@
+/* Generated by re2c */
+
+{
+       YYCTYPE yych;
+       unsigned int yyaccept = 0;
+       if (YYGETCONDITION() < 4) {
+               if (YYGETCONDITION() < 2) {
+                       if (YYGETCONDITION() < 1) {
+                               goto yyc_INITIAL;
+                       } else {
+                               goto yyc_ST_OFFSET;
+                       }
+               } else {
+                       if (YYGETCONDITION() < 3) {
+                               goto yyc_ST_SECTION_VALUE;
+                       } else {
+                               goto yyc_ST_VALUE;
+                       }
+               }
+       } else {
+               if (YYGETCONDITION() < 6) {
+                       if (YYGETCONDITION() < 5) {
+                               goto yyc_ST_SECTION_RAW;
+                       } else {
+                               goto yyc_ST_DOUBLE_QUOTES;
+                       }
+               } else {
+                       if (YYGETCONDITION() < 7) {
+                               goto yyc_ST_VARNAME;
+                       } else {
+                               goto yyc_ST_RAW;
+                       }
+               }
+       }
+/* *********************************** */
+yyc_INITIAL:
+       {
+               static const unsigned char yybm[] = {
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 160,   0, 144, 144,   0, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       240, 128, 128, 144, 128, 144, 128, 144, 
+                       128, 128, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 128, 144, 128, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 128, 144, 144, 128, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 128, 128, 128, 128, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+                       144, 144, 144, 144, 144, 144, 144, 144, 
+               };
+               YYFILL(5);
+               yych = *YYCURSOR;
+               if (yych <= '<') {
+                       if (yych <= '#') {
+                               if (yych <= '\f') {
+                                       if (yych <= 0x0008) goto yy3;
+                                       if (yych <= '\t') goto yy5;
+                                       if (yych <= '\n') goto yy7;
+                               } else {
+                                       if (yych <= 0x001F) {
+                                               if (yych <= '\r') goto yy9;
+                                       } else {
+                                               if (yych <= ' ') goto yy10;
+                                               if (yych <= '"') goto yy11;
+                                       }
+                               }
+                       } else {
+                               if (yych <= ')') {
+                                       if (yych <= '%') {
+                                               if (yych <= '$') goto yy11;
+                                               goto yy13;
+                                       } else {
+                                               if (yych == '\'') goto yy13;
+                                               goto yy11;
+                                       }
+                               } else {
+                                       if (yych <= '9') {
+                                               if (yych <= '/') goto yy13;
+                                       } else {
+                                               if (yych == ';') goto yy14;
+                                               goto yy13;
+                                       }
+                               }
+                       }
+               } else {
+                       if (yych <= 'f') {
+                               if (yych <= '[') {
+                                       if (yych <= '=') goto yy16;
+                                       if (yych <= '@') goto yy13;
+                                       if (yych >= '[') goto yy18;
+                               } else {
+                                       if (yych <= ']') {
+                                               if (yych >= ']') goto yy13;
+                                       } else {
+                                               if (yych <= '^') goto yy11;
+                                               if (yych >= 'f') goto yy20;
+                                       }
+                               }
+                       } else {
+                               if (yych <= 't') {
+                                       if (yych <= 'n') {
+                                               if (yych >= 'n') goto yy21;
+                                       } else {
+                                               if (yych <= 'o') goto yy22;
+                                               if (yych >= 't') goto yy23;
+                                       }
+                               } else {
+                                       if (yych <= 'y') {
+                                               if (yych >= 'y') goto yy24;
+                                       } else {
+                                               if (yych <= 'z') goto yy3;
+                                               if (yych <= '~') goto yy11;
+                                       }
+                               }
+                       }
+               }
+yy3:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy26;
+yy4:
+               {}
+yy5:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy64;
+yy6:
+               {}
+yy7:
+               ++YYCURSOR;
+yy8:
+               {}
+yy9:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy67;
+               goto yy8;
+yy10:
+               yych = *++YYCURSOR;
+               if (yych <= 0x001F) {
+                       if (yych <= '\n') {
+                               if (yych <= 0x0008) goto yy26;
+                               if (yych <= '\t') goto yy63;
+                               goto yy67;
+                       } else {
+                               if (yych == '\r') goto yy68;
+                               goto yy26;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych <= ' ') goto yy65;
+                               if (yych <= ':') goto yy26;
+                               goto yy58;
+                       } else {
+                               if (yych == '=') goto yy56;
+                               goto yy26;
+                       }
+               }
+yy11:
+               ++YYCURSOR;
+               {}
+yy13:
+               yych = *++YYCURSOR;
+               goto yy26;
+yy14:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy59;
+               {}
+yy16:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy57;
+yy17:
+               {}
+yy18:
+               ++YYCURSOR;
+               {}
+yy20:
+               yych = *++YYCURSOR;
+               if (yych == 'a') goto yy53;
+               goto yy26;
+yy21:
+               yych = *++YYCURSOR;
+               if (yych == 'o') goto yy44;
+               if (yych == 'u') goto yy45;
+               goto yy26;
+yy22:
+               yych = *++YYCURSOR;
+               if (yych == 'f') goto yy38;
+               if (yych == 'n') goto yy31;
+               goto yy26;
+yy23:
+               yych = *++YYCURSOR;
+               if (yych == 'r') goto yy36;
+               goto yy26;
+yy24:
+               yych = *++YYCURSOR;
+               if (yych == 'e') goto yy27;
+               goto yy26;
+yy25:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy26:
+               if (yych & ~0xFF) {
+                       goto yy25;
+               } else if (yybm[0+yych] & 16) {
+                       goto yy25;
+               }
+               if (yych <= '=') goto yy4;
+               if (yych <= '[') goto yy28;
+               goto yy4;
+yy27:
+               yych = *++YYCURSOR;
+               if (yych == 's') goto yy31;
+               goto yy26;
+yy28:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+               } else if (yybm[0+yych] & 32) {
+                       goto yy28;
+               }
+               {}
+yy31:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy25;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy31;
+               }
+               if (yych <= '\'') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy25;
+                                       if (yych <= '\t') goto yy34;
+                               } else {
+                                       if (yych != '\r') goto yy25;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych == '#') goto yy25;
+                               } else {
+                                       if (yych != '&') goto yy25;
+                               }
+                       }
+               } else {
+                       if (yych <= 'Z') {
+                               if (yych <= ';') {
+                                       if (yych <= ')') goto yy33;
+                                       if (yych <= ':') goto yy25;
+                               } else {
+                                       if (yych != '=') goto yy25;
+                               }
+                       } else {
+                               if (yych <= '^') {
+                                       if (yych <= '[') goto yy28;
+                                       if (yych <= ']') goto yy25;
+                               } else {
+                                       if (yych <= 'z') goto yy25;
+                                       if (yych >= 0x007F) goto yy25;
+                               }
+                       }
+               }
+yy33:
+               {}
+yy34:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych == '\t') goto yy34;
+               if (yych == ' ') goto yy34;
+               goto yy33;
+yy36:
+               yych = *++YYCURSOR;
+               if (yych != 'u') goto yy26;
+               yych = *++YYCURSOR;
+               if (yych == 'e') goto yy31;
+               goto yy26;
+yy38:
+               yych = *++YYCURSOR;
+               if (yych != 'f') goto yy26;
+yy39:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy25;
+                                       if (yych <= '\t') goto yy42;
+                               } else {
+                                       if (yych != '\r') goto yy25;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= ' ') goto yy39;
+                                       if (yych >= '#') goto yy25;
+                               } else {
+                                       if (yych == '%') goto yy25;
+                               }
+                       }
+               } else {
+                       if (yych <= '=') {
+                               if (yych <= ':') {
+                                       if (yych <= '\'') goto yy25;
+                                       if (yych >= '*') goto yy25;
+                               } else {
+                                       if (yych == '<') goto yy25;
+                               }
+                       } else {
+                               if (yych <= ']') {
+                                       if (yych == '[') goto yy28;
+                                       goto yy25;
+                               } else {
+                                       if (yych <= '^') goto yy41;
+                                       if (yych <= 'z') goto yy25;
+                                       if (yych >= 0x007F) goto yy25;
+                               }
+                       }
+               }
+yy41:
+               {}
+yy42:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych == '\t') goto yy42;
+               if (yych == ' ') goto yy42;
+               goto yy41;
+yy44:
+               yych = *++YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy26;
+                                       if (yych <= '\t') goto yy42;
+                                       goto yy41;
+                               } else {
+                                       if (yych == '\r') goto yy41;
+                                       goto yy26;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= ' ') goto yy39;
+                                       if (yych <= '"') goto yy41;
+                                       goto yy26;
+                               } else {
+                                       if (yych == '%') goto yy26;
+                                       goto yy41;
+                               }
+                       }
+               } else {
+                       if (yych <= '=') {
+                               if (yych <= ':') {
+                                       if (yych <= '\'') goto yy26;
+                                       if (yych <= ')') goto yy41;
+                                       goto yy26;
+                               } else {
+                                       if (yych == '<') goto yy26;
+                                       goto yy41;
+                               }
+                       } else {
+                               if (yych <= 'm') {
+                                       if (yych == '^') goto yy41;
+                                       goto yy26;
+                               } else {
+                                       if (yych <= 'n') goto yy52;
+                                       if (yych <= 'z') goto yy26;
+                                       if (yych <= '~') goto yy41;
+                                       goto yy26;
+                               }
+                       }
+               }
+yy45:
+               yych = *++YYCURSOR;
+               if (yych != 'l') goto yy26;
+               yych = *++YYCURSOR;
+               if (yych != 'l') goto yy26;
+yy47:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy25;
+                                       if (yych <= '\t') goto yy50;
+                               } else {
+                                       if (yych != '\r') goto yy25;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= ' ') goto yy47;
+                                       if (yych >= '#') goto yy25;
+                               } else {
+                                       if (yych == '%') goto yy25;
+                               }
+                       }
+               } else {
+                       if (yych <= '=') {
+                               if (yych <= ':') {
+                                       if (yych <= '\'') goto yy25;
+                                       if (yych >= '*') goto yy25;
+                               } else {
+                                       if (yych == '<') goto yy25;
+                               }
+                       } else {
+                               if (yych <= ']') {
+                                       if (yych == '[') goto yy28;
+                                       goto yy25;
+                               } else {
+                                       if (yych <= '^') goto yy49;
+                                       if (yych <= 'z') goto yy25;
+                                       if (yych >= 0x007F) goto yy25;
+                               }
+                       }
+               }
+yy49:
+               {}
+yy50:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych == '\t') goto yy50;
+               if (yych == ' ') goto yy50;
+               goto yy49;
+yy52:
+               yych = *++YYCURSOR;
+               if (yych == 'e') goto yy39;
+               goto yy26;
+yy53:
+               yych = *++YYCURSOR;
+               if (yych != 'l') goto yy26;
+               yych = *++YYCURSOR;
+               if (yych != 's') goto yy26;
+               yych = *++YYCURSOR;
+               if (yych == 'e') goto yy39;
+               goto yy26;
+yy56:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy57:
+               if (yych == '\t') goto yy56;
+               if (yych == ' ') goto yy56;
+               goto yy17;
+yy58:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy59:
+               if (yych & ~0xFF) {
+                       goto yy58;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy58;
+               }
+               if (yych >= '\v') goto yy62;
+yy60:
+               ++YYCURSOR;
+yy61:
+               {}
+yy62:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy60;
+               goto yy61;
+yy63:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy64:
+               if (yych <= 0x001F) {
+                       if (yych <= '\n') {
+                               if (yych <= 0x0008) goto yy6;
+                               if (yych <= '\t') goto yy63;
+                               goto yy67;
+                       } else {
+                               if (yych == '\r') goto yy68;
+                               goto yy6;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych <= ' ') goto yy63;
+                               if (yych <= ':') goto yy6;
+                               goto yy58;
+                       } else {
+                               if (yych == '=') goto yy56;
+                               goto yy6;
+                       }
+               }
+yy65:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy25;
+                                       if (yych <= '\t') goto yy63;
+                               } else {
+                                       if (yych == '\r') goto yy68;
+                                       goto yy25;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= ' ') goto yy65;
+                                       if (yych <= '"') goto yy4;
+                                       goto yy25;
+                               } else {
+                                       if (yych == '%') goto yy25;
+                                       goto yy4;
+                               }
+                       }
+               } else {
+                       if (yych <= '=') {
+                               if (yych <= ':') {
+                                       if (yych <= '\'') goto yy25;
+                                       if (yych <= ')') goto yy4;
+                                       goto yy25;
+                               } else {
+                                       if (yych <= ';') goto yy58;
+                                       if (yych <= '<') goto yy25;
+                                       goto yy56;
+                               }
+                       } else {
+                               if (yych <= ']') {
+                                       if (yych == '[') goto yy28;
+                                       goto yy25;
+                               } else {
+                                       if (yych <= '^') goto yy4;
+                                       if (yych <= 'z') goto yy25;
+                                       if (yych <= '~') goto yy4;
+                                       goto yy25;
+                               }
+                       }
+               }
+yy67:
+               yych = *++YYCURSOR;
+               goto yy8;
+yy68:
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '\n') goto yy67;
+               goto yy8;
+       }
+/* *********************************** */
+yyc_ST_DOUBLE_QUOTES:
+       {
+               static const unsigned char yybm[] = {
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0, 128,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                       128,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+                         0,   0,   0,   0,   0,   0,   0,   0, 
+               };
+               YYFILL(2);
+               yych = *YYCURSOR;
+               if (yych == '"') goto yy73;
+               if (yych == '$') goto yy75;
+               ++YYCURSOR;
+yy72:
+               {}
+yy73:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy79;
+yy74:
+               {}
+yy75:
+               yych = *++YYCURSOR;
+               if (yych != '{') goto yy72;
+               ++YYCURSOR;
+               {}
+yy78:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy79:
+               if (yych & ~0xFF) {
+                       goto yy74;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy78;
+               }
+               goto yy74;
+       }
+/* *********************************** */
+yyc_ST_OFFSET:
+       {
+               static const unsigned char yybm[] = {
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66, 194,  64,  66,  66,  64,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                       194,  66,  64,  66,  68,  66,  66,   0, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                       114, 114, 114, 114, 114, 114, 114, 114, 
+                       114, 114,  66,  64,  66,  66,  66,  66, 
+                        66,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  66,  72,  64,  66,  82, 
+                        66,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  82,  82,  82,  82,  82, 
+                        82,  82,  82,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+                        66,  66,  66,  66,  66,  66,  66,  66, 
+               };
+               YYFILL(2);
+               yych = *YYCURSOR;
+               if (yych <= '-') {
+                       if (yych <= ' ') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy82;
+                                       if (yych <= '\t') goto yy84;
+                                       goto yy85;
+                               } else {
+                                       if (yych == '\r') goto yy85;
+                                       if (yych >= ' ') goto yy84;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych == '"') goto yy87;
+                                       if (yych >= '$') goto yy89;
+                               } else {
+                                       if (yych == '\'') goto yy90;
+                                       if (yych >= '-') goto yy91;
+                               }
+                       }
+               } else {
+                       if (yych <= 'Z') {
+                               if (yych <= '9') {
+                                       if (yych <= '.') goto yy92;
+                                       if (yych >= '0') goto yy93;
+                               } else {
+                                       if (yych == ';') goto yy85;
+                                       if (yych >= 'A') goto yy95;
+                               }
+                       } else {
+                               if (yych <= '^') {
+                                       if (yych <= '[') goto yy82;
+                                       if (yych <= '\\') goto yy97;
+                                       if (yych <= ']') goto yy98;
+                               } else {
+                                       if (yych == '`') goto yy82;
+                                       if (yych <= 'z') goto yy95;
+                               }
+                       }
+               }
+yy82:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy101;
+yy83:
+               {}
+yy84:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy101;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy127;
+               }
+               if (yych == '"') goto yy129;
+               if (yych == ']') goto yy130;
+               goto yy101;
+yy85:
+               ++YYCURSOR;
+yy86:
+               {}
+yy87:
+               ++YYCURSOR;
+yy88:
+               {}
+yy89:
+               yych = *++YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy86;
+                       if (yych <= '[') goto yy100;
+                       goto yy105;
+               } else {
+                       if (yych == '{') goto yy125;
+                       goto yy100;
+               }
+yy90:
+               yyaccept = 1;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy121;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy121;
+               }
+               goto yy86;
+yy91:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy101;
+               if (yych <= '9') goto yy119;
+               goto yy101;
+yy92:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy101;
+               if (yych <= '9') goto yy117;
+               goto yy101;
+yy93:
+               yyaccept = 2;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '\'') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy94;
+                               if (yych <= '\f') goto yy101;
+                       } else {
+                               if (yych == '"') goto yy94;
+                               if (yych <= '&') goto yy101;
+                       }
+               } else {
+                       if (yych <= '9') {
+                               if (yych == '.') goto yy113;
+                               if (yych <= '/') goto yy101;
+                               goto yy115;
+                       } else {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy101;
+                               } else {
+                                       if (yych != ']') goto yy101;
+                               }
+                       }
+               }
+yy94:
+               {}
+yy95:
+               yyaccept = 3;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy101;
+               } else if (yybm[0+yych] & 16) {
+                       goto yy111;
+               }
+               if (yych <= '"') {
+                       if (yych <= '\f') {
+                               if (yych != '\n') goto yy101;
+                       } else {
+                               if (yych <= '\r') goto yy96;
+                               if (yych <= '!') goto yy101;
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych != '\'') goto yy101;
+                       } else {
+                               if (yych <= ';') goto yy96;
+                               if (yych != ']') goto yy101;
+                       }
+               }
+yy96:
+               {}
+yy97:
+               yych = *++YYCURSOR;
+               goto yy100;
+yy98:
+               ++YYCURSOR;
+yy99:
+               {}
+yy100:
+               yyaccept = 0;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy101:
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 2) {
+                       goto yy100;
+               }
+               if (yych <= '"') goto yy83;
+               if (yych <= '$') goto yy103;
+               if (yych <= ';') goto yy83;
+               if (yych >= ']') goto yy83;
+yy102:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               goto yy100;
+yy103:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy104;
+                       if (yych <= '[') goto yy100;
+                       goto yy105;
+               } else {
+                       if (yych != '{') goto yy100;
+               }
+yy104:
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 1) {
+                       if (yyaccept == 0) {
+                               goto yy83;
+                       } else {
+                               goto yy86;
+                       }
+               } else {
+                       if (yyaccept == 2) {
+                               goto yy94;
+                       } else {
+                               goto yy96;
+                       }
+               }
+yy105:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy106;
+               }
+               if (yych == '\\') goto yy108;
+               goto yy100;
+yy106:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy106;
+               }
+               if (yych == '\\') goto yy110;
+               goto yy100;
+yy108:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy106;
+               }
+               if (yych == '\\') goto yy108;
+               goto yy100;
+yy110:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy106;
+               }
+               if (yych == '\\') goto yy108;
+               goto yy100;
+yy111:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 16) {
+                       goto yy111;
+               }
+               if (yych <= '$') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy96;
+                               if (yych <= '\f') goto yy100;
+                               goto yy96;
+                       } else {
+                               if (yych == '"') goto yy96;
+                               if (yych <= '#') goto yy100;
+                               goto yy103;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych == '\'') goto yy96;
+                               if (yych <= ':') goto yy100;
+                               goto yy96;
+                       } else {
+                               if (yych <= '[') goto yy100;
+                               if (yych <= '\\') goto yy102;
+                               if (yych <= ']') goto yy96;
+                               goto yy100;
+                       }
+               }
+yy113:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 32) {
+                       goto yy113;
+               }
+               if (yych <= '$') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy94;
+                               if (yych <= '\f') goto yy100;
+                               goto yy94;
+                       } else {
+                               if (yych == '"') goto yy94;
+                               if (yych <= '#') goto yy100;
+                               goto yy103;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych == '\'') goto yy94;
+                               if (yych <= ':') goto yy100;
+                               goto yy94;
+                       } else {
+                               if (yych <= '[') goto yy100;
+                               if (yych <= '\\') goto yy102;
+                               if (yych <= ']') goto yy94;
+                               goto yy100;
+                       }
+               }
+yy115:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '\'') {
+                       if (yych <= '!') {
+                               if (yych <= '\n') {
+                                       if (yych <= '\t') goto yy100;
+                                       goto yy94;
+                               } else {
+                                       if (yych == '\r') goto yy94;
+                                       goto yy100;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= '"') goto yy94;
+                                       goto yy100;
+                               } else {
+                                       if (yych <= '$') goto yy103;
+                                       if (yych <= '&') goto yy100;
+                                       goto yy94;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '.') {
+                                       if (yych <= '-') goto yy100;
+                                       goto yy113;
+                               } else {
+                                       if (yych <= '/') goto yy100;
+                                       if (yych <= '9') goto yy115;
+                                       goto yy100;
+                               }
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy94;
+                                       goto yy100;
+                               } else {
+                                       if (yych <= '\\') goto yy102;
+                                       if (yych <= ']') goto yy94;
+                                       goto yy100;
+                               }
+                       }
+               }
+yy117:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy94;
+                               if (yych <= '\f') goto yy100;
+                               goto yy94;
+                       } else {
+                               if (yych <= '"') {
+                                       if (yych <= '!') goto yy100;
+                                       goto yy94;
+                               } else {
+                                       if (yych == '$') goto yy103;
+                                       goto yy100;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '\'') goto yy94;
+                               if (yych <= '/') goto yy100;
+                               if (yych <= '9') goto yy117;
+                               goto yy100;
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy94;
+                                       goto yy100;
+                               } else {
+                                       if (yych <= '\\') goto yy102;
+                                       if (yych <= ']') goto yy94;
+                                       goto yy100;
+                               }
+                       }
+               }
+yy119:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy94;
+                               if (yych <= '\f') goto yy100;
+                               goto yy94;
+                       } else {
+                               if (yych <= '"') {
+                                       if (yych <= '!') goto yy100;
+                                       goto yy94;
+                               } else {
+                                       if (yych == '$') goto yy103;
+                                       goto yy100;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '\'') goto yy94;
+                               if (yych <= '/') goto yy100;
+                               if (yych <= '9') goto yy119;
+                               goto yy100;
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy94;
+                                       goto yy100;
+                               } else {
+                                       if (yych <= '\\') goto yy102;
+                                       if (yych <= ']') goto yy94;
+                                       goto yy100;
+                               }
+                       }
+               }
+yy121:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy121;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy121;
+               }
+               ++YYCURSOR;
+               {}
+yy125:
+               ++YYCURSOR;
+               {}
+yy127:
+               yyaccept = 0;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy100;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy127;
+               }
+               if (yych <= '$') {
+                       if (yych <= '\r') {
+                               if (yych <= 0x0008) goto yy100;
+                               if (yych <= '\n') goto yy83;
+                               if (yych <= '\f') goto yy100;
+                               goto yy83;
+                       } else {
+                               if (yych == '"') goto yy129;
+                               if (yych <= '#') goto yy100;
+                               goto yy103;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych == '\'') goto yy83;
+                               if (yych <= ':') goto yy100;
+                               goto yy83;
+                       } else {
+                               if (yych <= '[') goto yy100;
+                               if (yych <= '\\') goto yy102;
+                               if (yych <= ']') goto yy130;
+                               goto yy100;
+                       }
+               }
+yy129:
+               yych = *++YYCURSOR;
+               goto yy88;
+yy130:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy99;
+       }
+/* *********************************** */
+yyc_ST_RAW:
+       {
+               static const unsigned char yybm[] = {
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64, 192,   0,  64,  64,   0,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                       192,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+                        64,  64,  64,  64,  64,  64,  64,  64, 
+               };
+               YYFILL(3);
+               yych = *YYCURSOR;
+               if (yych <= '\f') {
+                       if (yych <= 0x0008) {
+                               if (yych >= 0x0001) goto yy135;
+                       } else {
+                               if (yych <= '\t') goto yy137;
+                               if (yych <= '\n') goto yy138;
+                               goto yy135;
+                       }
+               } else {
+                       if (yych <= ' ') {
+                               if (yych <= '\r') goto yy140;
+                               if (yych <= 0x001F) goto yy135;
+                               goto yy137;
+                       } else {
+                               if (yych == ';') goto yy141;
+                               goto yy135;
+                       }
+               }
+               ++YYCURSOR;
+               {}
+yy135:
+               ++YYCURSOR;
+yy136:
+               {}
+yy137:
+               yych = *++YYCURSOR;
+               if (yych <= '\r') {
+                       if (yych <= 0x0008) goto yy136;
+                       if (yych <= '\n') goto yy149;
+                       if (yych <= '\f') goto yy136;
+                       goto yy149;
+               } else {
+                       if (yych <= ' ') {
+                               if (yych <= 0x001F) goto yy136;
+                               goto yy149;
+                       } else {
+                               if (yych == ';') goto yy149;
+                               goto yy136;
+                       }
+               }
+yy138:
+               ++YYCURSOR;
+yy139:
+               {}
+yy140:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy147;
+               goto yy139;
+yy141:
+               yych = *++YYCURSOR;
+               goto yy143;
+yy142:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy143:
+               if (yych & ~0xFF) {
+                       goto yy142;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy142;
+               }
+               if (yych >= '\v') goto yy146;
+yy144:
+               ++YYCURSOR;
+yy145:
+               {}
+yy146:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy144;
+               goto yy145;
+yy147:
+               yych = *++YYCURSOR;
+               goto yy139;
+yy148:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy149:
+               if (yych & ~0xFF) {
+               } else if (yybm[0+yych] & 128) {
+                       goto yy148;
+               }
+               if (yych <= '\f') {
+                       if (yych <= 0x0008) goto yy150;
+                       if (yych <= '\n') goto yy147;
+               } else {
+                       if (yych <= '\r') goto yy151;
+                       if (yych == ';') goto yy142;
+               }
+yy150:
+               {}
+yy151:
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '\n') goto yy147;
+               goto yy139;
+       }
+/* *********************************** */
+yyc_ST_SECTION_RAW:
+       {
+               static const unsigned char yybm[] = {
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 192,   0, 128, 128,   0, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       192, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128,   0, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+               };
+               YYFILL(3);
+               yych = *YYCURSOR;
+               if (yych <= '\f') {
+                       if (yych == '\n') goto yy156;
+               } else {
+                       if (yych <= '\r') goto yy156;
+                       if (yych == ']') goto yy158;
+               }
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy165;
+yy155:
+               {}
+yy156:
+               ++YYCURSOR;
+               {}
+yy158:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy161;
+yy159:
+               {}
+yy160:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy161:
+               if (yych & ~0xFF) {
+                       goto yy159;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy160;
+               }
+               if (yych <= 0x0008) goto yy159;
+               if (yych <= '\n') goto yy162;
+               if (yych == '\r') goto yy163;
+               goto yy159;
+yy162:
+               yych = *++YYCURSOR;
+               goto yy159;
+yy163:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy162;
+               goto yy159;
+yy164:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy165:
+               if (yych & ~0xFF) {
+                       goto yy164;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy164;
+               }
+               goto yy155;
+       }
+/* *********************************** */
+yyc_ST_SECTION_VALUE:
+       {
+               static const unsigned char yybm[] = {
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 134, 128, 132, 132, 128, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       134, 132, 128, 132, 136, 132, 132,   0, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       228, 228, 228, 228, 228, 228, 228, 228, 
+                       228, 228, 132, 128, 132, 132, 132, 132, 
+                       132, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 132, 144, 128, 132, 164, 
+                       132, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 164, 164, 164, 164, 164, 
+                       164, 164, 164, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+                       132, 132, 132, 132, 132, 132, 132, 132, 
+               };
+               YYFILL(3);
+               yych = *YYCURSOR;
+               if (yych <= '-') {
+                       if (yych <= ' ') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0008) goto yy168;
+                                       if (yych <= '\t') goto yy170;
+                                       goto yy171;
+                               } else {
+                                       if (yych == '\r') goto yy171;
+                                       if (yych >= ' ') goto yy170;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych == '"') goto yy173;
+                                       if (yych >= '$') goto yy175;
+                               } else {
+                                       if (yych == '\'') goto yy176;
+                                       if (yych >= '-') goto yy177;
+                               }
+                       }
+               } else {
+                       if (yych <= 'Z') {
+                               if (yych <= '9') {
+                                       if (yych <= '.') goto yy178;
+                                       if (yych >= '0') goto yy179;
+                               } else {
+                                       if (yych == ';') goto yy171;
+                                       if (yych >= 'A') goto yy181;
+                               }
+                       } else {
+                               if (yych <= '^') {
+                                       if (yych <= '[') goto yy168;
+                                       if (yych <= '\\') goto yy183;
+                                       if (yych <= ']') goto yy184;
+                               } else {
+                                       if (yych == '`') goto yy168;
+                                       if (yych <= 'z') goto yy181;
+                               }
+                       }
+               }
+yy168:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy191;
+yy169:
+               {}
+yy170:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= 0x001F) {
+                       if (yych == '\t') goto yy217;
+                       goto yy191;
+               } else {
+                       if (yych <= ' ') goto yy217;
+                       if (yych == '"') goto yy219;
+                       goto yy191;
+               }
+yy171:
+               ++YYCURSOR;
+yy172:
+               {}
+yy173:
+               ++YYCURSOR;
+yy174:
+               {}
+yy175:
+               yych = *++YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy172;
+                       if (yych <= '[') goto yy190;
+                       goto yy195;
+               } else {
+                       if (yych == '{') goto yy215;
+                       goto yy190;
+               }
+yy176:
+               yyaccept = 1;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy211;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy211;
+               }
+               goto yy172;
+yy177:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy191;
+               if (yych <= '9') goto yy209;
+               goto yy191;
+yy178:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy191;
+               if (yych <= '9') goto yy207;
+               goto yy191;
+yy179:
+               yyaccept = 2;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '\'') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy180;
+                               if (yych <= '\f') goto yy191;
+                       } else {
+                               if (yych == '"') goto yy180;
+                               if (yych <= '&') goto yy191;
+                       }
+               } else {
+                       if (yych <= '9') {
+                               if (yych == '.') goto yy203;
+                               if (yych <= '/') goto yy191;
+                               goto yy205;
+                       } else {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy191;
+                               } else {
+                                       if (yych != ']') goto yy191;
+                               }
+                       }
+               }
+yy180:
+               {}
+yy181:
+               yyaccept = 3;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy191;
+               } else if (yybm[0+yych] & 32) {
+                       goto yy201;
+               }
+               if (yych <= '"') {
+                       if (yych <= '\f') {
+                               if (yych != '\n') goto yy191;
+                       } else {
+                               if (yych <= '\r') goto yy182;
+                               if (yych <= '!') goto yy191;
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych != '\'') goto yy191;
+                       } else {
+                               if (yych <= ';') goto yy182;
+                               if (yych != ']') goto yy191;
+                       }
+               }
+yy182:
+               {}
+yy183:
+               yych = *++YYCURSOR;
+               goto yy190;
+yy184:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy187;
+yy185:
+               {}
+yy186:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy187:
+               if (yych & ~0xFF) {
+                       goto yy185;
+               } else if (yybm[0+yych] & 2) {
+                       goto yy186;
+               }
+               if (yych <= 0x0008) goto yy185;
+               if (yych <= '\n') goto yy188;
+               if (yych == '\r') goto yy189;
+               goto yy185;
+yy188:
+               yych = *++YYCURSOR;
+               goto yy185;
+yy189:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy188;
+               goto yy185;
+yy190:
+               yyaccept = 0;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy191:
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy190;
+               }
+               if (yych <= '"') goto yy169;
+               if (yych <= '$') goto yy193;
+               if (yych <= ';') goto yy169;
+               if (yych >= ']') goto yy169;
+yy192:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               goto yy190;
+yy193:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy194;
+                       if (yych <= '[') goto yy190;
+                       goto yy195;
+               } else {
+                       if (yych != '{') goto yy190;
+               }
+yy194:
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 1) {
+                       if (yyaccept == 0) {
+                               goto yy169;
+                       } else {
+                               goto yy172;
+                       }
+               } else {
+                       if (yyaccept == 2) {
+                               goto yy180;
+                       } else {
+                               goto yy182;
+                       }
+               }
+yy195:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy196;
+               }
+               if (yych == '\\') goto yy198;
+               goto yy190;
+yy196:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy196;
+               }
+               if (yych == '\\') goto yy200;
+               goto yy190;
+yy198:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy196;
+               }
+               if (yych == '\\') goto yy198;
+               goto yy190;
+yy200:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy196;
+               }
+               if (yych == '\\') goto yy198;
+               goto yy190;
+yy201:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 32) {
+                       goto yy201;
+               }
+               if (yych <= '$') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy182;
+                               if (yych <= '\f') goto yy190;
+                               goto yy182;
+                       } else {
+                               if (yych == '"') goto yy182;
+                               if (yych <= '#') goto yy190;
+                               goto yy193;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych == '\'') goto yy182;
+                               if (yych <= ':') goto yy190;
+                               goto yy182;
+                       } else {
+                               if (yych <= '[') goto yy190;
+                               if (yych <= '\\') goto yy192;
+                               if (yych <= ']') goto yy182;
+                               goto yy190;
+                       }
+               }
+yy203:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy190;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy203;
+               }
+               if (yych <= '$') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy180;
+                               if (yych <= '\f') goto yy190;
+                               goto yy180;
+                       } else {
+                               if (yych == '"') goto yy180;
+                               if (yych <= '#') goto yy190;
+                               goto yy193;
+                       }
+               } else {
+                       if (yych <= ';') {
+                               if (yych == '\'') goto yy180;
+                               if (yych <= ':') goto yy190;
+                               goto yy180;
+                       } else {
+                               if (yych <= '[') goto yy190;
+                               if (yych <= '\\') goto yy192;
+                               if (yych <= ']') goto yy180;
+                               goto yy190;
+                       }
+               }
+yy205:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '\'') {
+                       if (yych <= '!') {
+                               if (yych <= '\n') {
+                                       if (yych <= '\t') goto yy190;
+                                       goto yy180;
+                               } else {
+                                       if (yych == '\r') goto yy180;
+                                       goto yy190;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= '"') goto yy180;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= '$') goto yy193;
+                                       if (yych <= '&') goto yy190;
+                                       goto yy180;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '.') {
+                                       if (yych <= '-') goto yy190;
+                                       goto yy203;
+                               } else {
+                                       if (yych <= '/') goto yy190;
+                                       if (yych <= '9') goto yy205;
+                                       goto yy190;
+                               }
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy180;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= '\\') goto yy192;
+                                       if (yych <= ']') goto yy180;
+                                       goto yy190;
+                               }
+                       }
+               }
+yy207:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy180;
+                               if (yych <= '\f') goto yy190;
+                               goto yy180;
+                       } else {
+                               if (yych <= '"') {
+                                       if (yych <= '!') goto yy190;
+                                       goto yy180;
+                               } else {
+                                       if (yych == '$') goto yy193;
+                                       goto yy190;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '\'') goto yy180;
+                               if (yych <= '/') goto yy190;
+                               if (yych <= '9') goto yy207;
+                               goto yy190;
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy180;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= '\\') goto yy192;
+                                       if (yych <= ']') goto yy180;
+                                       goto yy190;
+                               }
+                       }
+               }
+yy209:
+               yyaccept = 2;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '&') {
+                       if (yych <= '\r') {
+                               if (yych == '\n') goto yy180;
+                               if (yych <= '\f') goto yy190;
+                               goto yy180;
+                       } else {
+                               if (yych <= '"') {
+                                       if (yych <= '!') goto yy190;
+                                       goto yy180;
+                               } else {
+                                       if (yych == '$') goto yy193;
+                                       goto yy190;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '\'') goto yy180;
+                               if (yych <= '/') goto yy190;
+                               if (yych <= '9') goto yy209;
+                               goto yy190;
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy180;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= '\\') goto yy192;
+                                       if (yych <= ']') goto yy180;
+                                       goto yy190;
+                               }
+                       }
+               }
+yy211:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy211;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy211;
+               }
+               ++YYCURSOR;
+               {}
+yy215:
+               ++YYCURSOR;
+               {}
+yy217:
+               yyaccept = 0;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '"') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x0008) goto yy190;
+                               if (yych <= '\t') goto yy217;
+                               if (yych <= '\n') goto yy169;
+                               goto yy190;
+                       } else {
+                               if (yych <= 0x001F) {
+                                       if (yych <= '\r') goto yy169;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= ' ') goto yy217;
+                                       if (yych <= '!') goto yy190;
+                               }
+                       }
+               } else {
+                       if (yych <= ':') {
+                               if (yych <= '$') {
+                                       if (yych <= '#') goto yy190;
+                                       goto yy193;
+                               } else {
+                                       if (yych == '\'') goto yy169;
+                                       goto yy190;
+                               }
+                       } else {
+                               if (yych <= '[') {
+                                       if (yych <= ';') goto yy169;
+                                       goto yy190;
+                               } else {
+                                       if (yych <= '\\') goto yy192;
+                                       if (yych <= ']') goto yy169;
+                                       goto yy190;
+                               }
+                       }
+               }
+yy219:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy174;
+       }
+/* *********************************** */
+yyc_ST_VALUE:
+       {
+               static const unsigned char yybm[] = {
+                       160, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 176, 128, 162, 162, 128, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       176, 160, 160, 162, 168, 162, 160,  32, 
+                       160, 160, 162, 162, 162, 162, 162, 162, 
+                       230, 230, 230, 230, 230, 230, 230, 230, 
+                       230, 230, 162, 160, 162, 160, 162, 162, 
+                       162, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 162, 162, 162, 160, 166, 
+                       162, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 166, 166, 166, 166, 166, 
+                       166, 166, 166, 162, 160, 162, 160, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+                       162, 162, 162, 162, 162, 162, 162, 162, 
+               };
+               YYFILL(6);
+               yych = *YYCURSOR;
+               switch (yych) {
+               case 0x0000:    goto yy222;
+               case '\t':
+               case ' ':       goto yy226;
+               case '\n':      goto yy228;
+               case '\r':      goto yy230;
+               case '!':
+               case '&':
+               case '(':
+               case ')':
+               case '^':
+               case '|':
+               case '~':       goto yy231;
+               case '"':       goto yy233;
+               case '$':       goto yy235;
+               case '\'':      goto yy236;
+               case '-':       goto yy237;
+               case '.':       goto yy238;
+               case '0':
+               case '1':
+               case '2':
+               case '3':
+               case '4':
+               case '5':
+               case '6':
+               case '7':
+               case '8':
+               case '9':       goto yy239;
+               case ';':       goto yy241;
+               case '=':       goto yy242;
+               case 'A':
+               case 'B':
+               case 'C':
+               case 'D':
+               case 'E':
+               case 'F':
+               case 'G':
+               case 'H':
+               case 'I':
+               case 'J':
+               case 'K':
+               case 'L':
+               case 'M':
+               case 'N':
+               case 'O':
+               case 'P':
+               case 'Q':
+               case 'R':
+               case 'S':
+               case 'T':
+               case 'U':
+               case 'V':
+               case 'W':
+               case 'X':
+               case 'Y':
+               case 'Z':
+               case '_':
+               case 'a':
+               case 'b':
+               case 'c':
+               case 'd':
+               case 'e':
+               case 'g':
+               case 'h':
+               case 'i':
+               case 'j':
+               case 'k':
+               case 'l':
+               case 'm':
+               case 'p':
+               case 'q':
+               case 'r':
+               case 's':
+               case 'u':
+               case 'v':
+               case 'w':
+               case 'x':
+               case 'z':       goto yy244;
+               case 'f':       goto yy246;
+               case 'n':       goto yy247;
+               case 'o':       goto yy248;
+               case 't':       goto yy249;
+               case 'y':       goto yy250;
+               default:        goto yy224;
+               }
+yy222:
+               ++YYCURSOR;
+yy223:
+               {}
+yy224:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy252;
+yy225:
+               {}
+yy226:
+               yyaccept = 1;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy306;
+yy227:
+               {}
+yy228:
+               ++YYCURSOR;
+yy229:
+               {}
+yy230:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy304;
+               goto yy229;
+yy231:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy303;
+yy232:
+               {}
+yy233:
+               ++YYCURSOR;
+yy234:
+               {}
+yy235:
+               yych = *++YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy223;
+                       if (yych <= '[') goto yy251;
+                       goto yy258;
+               } else {
+                       if (yych == '{') goto yy300;
+                       goto yy251;
+               }
+yy236:
+               yyaccept = 2;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy296;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy296;
+               }
+               goto yy223;
+yy237:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy252;
+               if (yych <= '9') goto yy294;
+               goto yy252;
+yy238:
+               yyaccept = 0;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') goto yy252;
+               if (yych <= '9') goto yy292;
+               goto yy252;
+yy239:
+               yyaccept = 3;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '/') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy240;
+                                       if (yych <= 0x0008) goto yy252;
+                               } else {
+                                       if (yych != '\r') goto yy252;
+                               }
+                       } else {
+                               if (yych <= ')') {
+                                       if (yych <= '"') goto yy240;
+                                       if (yych <= '%') goto yy252;
+                               } else {
+                                       if (yych == '.') goto yy288;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= '9') goto yy290;
+                                       if (yych <= ':') goto yy252;
+                               } else {
+                                       if (yych != '=') goto yy252;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy240;
+                                       if (yych <= '{') goto yy252;
+                               } else {
+                                       if (yych != '~') goto yy252;
+                               }
+                       }
+               }
+yy240:
+               {}
+yy241:
+               yyaccept = 2;
+               yych = *(YYMARKER = ++YYCURSOR);
+               goto yy284;
+yy242:
+               ++YYCURSOR;
+               {}
+yy244:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy252;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy253;
+               }
+               if (yych <= ':') {
+                       if (yych <= '\r') {
+                               if (yych <= 0x0008) {
+                                       if (yych >= 0x0001) goto yy252;
+                               } else {
+                                       if (yych <= '\n') goto yy245;
+                                       if (yych <= '\f') goto yy252;
+                               }
+                       } else {
+                               if (yych <= '"') {
+                                       if (yych <= 0x001F) goto yy252;
+                               } else {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych >= '*') goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '^') {
+                               if (yych <= '<') {
+                                       if (yych >= '<') goto yy252;
+                               } else {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= ']') goto yy252;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '{') goto yy252;
+                               } else {
+                                       if (yych != '~') goto yy252;
+                               }
+                       }
+               }
+yy245:
+               {}
+yy246:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych <= 'a') goto yy280;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy247:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '=') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       if (yych <= '/') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych == ';') goto yy245;
+                                       if (yych <= '<') goto yy252;
+                                       goto yy245;
+                               }
+                       }
+               } else {
+                       if (yych <= 'o') {
+                               if (yych <= '^') {
+                                       if (yych <= '@') goto yy252;
+                                       if (yych <= 'Z') goto yy253;
+                                       if (yych <= ']') goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '`') goto yy252;
+                                       if (yych <= 'n') goto yy253;
+                                       goto yy272;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'u') goto yy273;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy248:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '=') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '9') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       if (yych <= '/') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych == ';') goto yy245;
+                                       if (yych <= '<') goto yy252;
+                                       goto yy245;
+                               }
+                       }
+               } else {
+                       if (yych <= 'f') {
+                               if (yych <= '^') {
+                                       if (yych <= '@') goto yy252;
+                                       if (yych <= 'Z') goto yy253;
+                                       if (yych <= ']') goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '`') goto yy252;
+                                       if (yych <= 'e') goto yy253;
+                                       goto yy267;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'n') goto yy261;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy249:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'r') goto yy265;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy250:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'e') goto yy255;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy251:
+               yyaccept = 0;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy252:
+               if (yych & ~0xFF) {
+                       goto yy251;
+               } else if (yybm[0+yych] & 2) {
+                       goto yy251;
+               }
+               if (yych <= '"') goto yy225;
+               if (yych <= '$') goto yy256;
+               goto yy225;
+yy253:
+               yyaccept = 4;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy251;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy253;
+               }
+               if (yych <= ')') {
+                       if (yych <= '\r') {
+                               if (yych <= 0x0008) {
+                                       if (yych <= 0x0000) goto yy245;
+                                       goto yy251;
+                               } else {
+                                       if (yych <= '\n') goto yy245;
+                                       if (yych <= '\f') goto yy251;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= 0x001F) goto yy251;
+                                       if (yych <= '"') goto yy245;
+                                       goto yy251;
+                               } else {
+                                       if (yych <= '$') goto yy256;
+                                       if (yych <= '%') goto yy251;
+                                       goto yy245;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy251;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '=') goto yy245;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '{') goto yy251;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '~') goto yy245;
+                                       goto yy251;
+                               }
+                       }
+               }
+yy255:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 's') goto yy261;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy256:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '\\') {
+                       if (yych <= 0x0000) goto yy257;
+                       if (yych <= '[') goto yy251;
+                       goto yy258;
+               } else {
+                       if (yych != '{') goto yy251;
+               }
+yy257:
+               YYCURSOR = YYMARKER;
+               if (yyaccept <= 3) {
+                       if (yyaccept <= 1) {
+                               if (yyaccept == 0) {
+                                       goto yy225;
+                               } else {
+                                       goto yy227;
+                               }
+                       } else {
+                               if (yyaccept == 2) {
+                                       goto yy223;
+                               } else {
+                                       goto yy240;
+                               }
+                       }
+               } else {
+                       if (yyaccept <= 5) {
+                               if (yyaccept == 4) {
+                                       goto yy245;
+                               } else {
+                                       goto yy262;
+                               }
+                       } else {
+                               if (yyaccept == 6) {
+                                       goto yy269;
+                               } else {
+                                       goto yy276;
+                               }
+                       }
+               }
+yy258:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy251;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy259;
+               }
+               goto yy251;
+yy259:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy251;
+               } else if (yybm[0+yych] & 8) {
+                       goto yy259;
+               }
+               if (yych <= 0x0000) goto yy225;
+               if (yych == '\\') goto yy258;
+               goto yy251;
+yy261:
+               yyaccept = 5;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy252;
+               } else if (yybm[0+yych] & 16) {
+                       goto yy263;
+               }
+               if (yych <= ';') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy262;
+                                       if (yych <= 0x0008) goto yy252;
+                               } else {
+                                       if (yych != '\r') goto yy252;
+                               }
+                       } else {
+                               if (yych <= ')') {
+                                       if (yych <= '"') goto yy262;
+                                       if (yych <= '%') goto yy252;
+                               } else {
+                                       if (yych <= '/') goto yy252;
+                                       if (yych <= '9') goto yy253;
+                                       if (yych <= ':') goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '_') {
+                               if (yych <= '@') {
+                                       if (yych != '=') goto yy252;
+                               } else {
+                                       if (yych <= 'Z') goto yy253;
+                                       if (yych <= ']') goto yy252;
+                                       if (yych >= '_') goto yy253;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych <= '`') goto yy252;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych >= 0x007F) goto yy252;
+                               }
+                       }
+               }
+yy262:
+               {}
+yy263:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy262;
+               } else if (yybm[0+yych] & 16) {
+                       goto yy263;
+               }
+               goto yy262;
+yy265:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'u') goto yy266;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy266:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'e') goto yy261;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy267:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'f') goto yy268;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy268:
+               yyaccept = 6;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy252;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy253;
+               }
+               if (yych <= ')') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x0008) {
+                                       if (yych >= 0x0001) goto yy252;
+                               } else {
+                                       if (yych <= '\t') goto yy270;
+                                       if (yych >= '\v') goto yy252;
+                               }
+                       } else {
+                               if (yych <= ' ') {
+                                       if (yych <= '\r') goto yy269;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy270;
+                               } else {
+                                       if (yych <= '"') goto yy269;
+                                       if (yych <= '%') goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy252;
+                               } else {
+                                       if (yych != '=') goto yy252;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy269;
+                                       if (yych <= '{') goto yy252;
+                               } else {
+                                       if (yych != '~') goto yy252;
+                               }
+                       }
+               }
+yy269:
+               {}
+yy270:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych == '\t') goto yy270;
+               if (yych == ' ') goto yy270;
+               goto yy269;
+yy272:
+               yyaccept = 6;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= ';') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\t') {
+                                       if (yych <= 0x0000) goto yy269;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy270;
+                               } else {
+                                       if (yych <= '\n') goto yy269;
+                                       if (yych == '\r') goto yy269;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= ')') {
+                                       if (yych <= ' ') goto yy270;
+                                       if (yych <= '"') goto yy269;
+                                       if (yych <= '%') goto yy252;
+                                       goto yy269;
+                               } else {
+                                       if (yych <= '/') goto yy252;
+                                       if (yych <= '9') goto yy253;
+                                       if (yych <= ':') goto yy252;
+                                       goto yy269;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych == '=') goto yy269;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy269;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'n') goto yy279;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy269;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy273:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'l') goto yy274;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy274:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'l') goto yy275;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy275:
+               yyaccept = 7;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych & ~0xFF) {
+                       goto yy252;
+               } else if (yybm[0+yych] & 4) {
+                       goto yy253;
+               }
+               if (yych <= ')') {
+                       if (yych <= '\f') {
+                               if (yych <= 0x0008) {
+                                       if (yych >= 0x0001) goto yy252;
+                               } else {
+                                       if (yych <= '\t') goto yy277;
+                                       if (yych >= '\v') goto yy252;
+                               }
+                       } else {
+                               if (yych <= ' ') {
+                                       if (yych <= '\r') goto yy276;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy277;
+                               } else {
+                                       if (yych <= '"') goto yy276;
+                                       if (yych <= '%') goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy252;
+                               } else {
+                                       if (yych != '=') goto yy252;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy276;
+                                       if (yych <= '{') goto yy252;
+                               } else {
+                                       if (yych != '~') goto yy252;
+                               }
+                       }
+               }
+yy276:
+               {}
+yy277:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych == '\t') goto yy277;
+               if (yych == ' ') goto yy277;
+               goto yy276;
+yy279:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'e') goto yy268;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy280:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'l') goto yy281;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy281:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 's') goto yy282;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy282:
+               yyaccept = 4;
+               yych = *(YYMARKER = ++YYCURSOR);
+               if (yych <= '<') {
+                       if (yych <= '"') {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy245;
+                                       if (yych <= 0x0008) goto yy252;
+                                       goto yy245;
+                               } else {
+                                       if (yych == '\r') goto yy245;
+                                       if (yych <= 0x001F) goto yy252;
+                                       goto yy245;
+                               }
+                       } else {
+                               if (yych <= '/') {
+                                       if (yych <= '%') goto yy252;
+                                       if (yych <= ')') goto yy245;
+                                       goto yy252;
+                               } else {
+                                       if (yych <= '9') goto yy253;
+                                       if (yych == ';') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               } else {
+                       if (yych <= '`') {
+                               if (yych <= 'Z') {
+                                       if (yych <= '=') goto yy245;
+                                       if (yych <= '@') goto yy252;
+                                       goto yy253;
+                               } else {
+                                       if (yych <= ']') goto yy252;
+                                       if (yych <= '^') goto yy245;
+                                       if (yych <= '_') goto yy253;
+                                       goto yy252;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == 'e') goto yy268;
+                                       if (yych <= 'z') goto yy253;
+                                       goto yy252;
+                               } else {
+                                       if (yych == '}') goto yy252;
+                                       if (yych <= '~') goto yy245;
+                                       goto yy252;
+                               }
+                       }
+               }
+yy283:
+               ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy284:
+               if (yych & ~0xFF) {
+                       goto yy283;
+               } else if (yybm[0+yych] & 32) {
+                       goto yy283;
+               }
+               if (yych >= '\v') goto yy287;
+yy285:
+               ++YYCURSOR;
+yy286:
+               {}
+yy287:
+               yych = *++YYCURSOR;
+               if (yych == '\n') goto yy285;
+               goto yy286;
+yy288:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy251;
+               } else if (yybm[0+yych] & 64) {
+                       goto yy288;
+               }
+               if (yych <= ')') {
+                       if (yych <= '\r') {
+                               if (yych <= 0x0008) {
+                                       if (yych <= 0x0000) goto yy240;
+                                       goto yy251;
+                               } else {
+                                       if (yych <= '\n') goto yy240;
+                                       if (yych <= '\f') goto yy251;
+                                       goto yy240;
+                               }
+                       } else {
+                               if (yych <= '#') {
+                                       if (yych <= 0x001F) goto yy251;
+                                       if (yych <= '"') goto yy240;
+                                       goto yy251;
+                               } else {
+                                       if (yych <= '$') goto yy256;
+                                       if (yych <= '%') goto yy251;
+                                       goto yy240;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= ':') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '=') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy240;
+                                       if (yych <= '{') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '~') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               }
+yy290:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '.') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy240;
+                                       if (yych <= 0x0008) goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '\r') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych <= '"') goto yy240;
+                                       if (yych <= '#') goto yy251;
+                                       goto yy256;
+                               } else {
+                                       if (yych <= '%') goto yy251;
+                                       if (yych <= ')') goto yy240;
+                                       if (yych <= '-') goto yy251;
+                                       goto yy288;
+                               }
+                       }
+               } else {
+                       if (yych <= '=') {
+                               if (yych <= ':') {
+                                       if (yych <= '/') goto yy251;
+                                       if (yych <= '9') goto yy290;
+                                       goto yy251;
+                               } else {
+                                       if (yych == '<') goto yy251;
+                                       goto yy240;
+                               }
+                       } else {
+                               if (yych <= '{') {
+                                       if (yych == '^') goto yy240;
+                                       goto yy251;
+                               } else {
+                                       if (yych == '}') goto yy251;
+                                       if (yych <= '~') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               }
+yy292:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '/') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy240;
+                                       if (yych <= 0x0008) goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '\r') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych <= '"') goto yy240;
+                                       if (yych <= '#') goto yy251;
+                                       goto yy256;
+                               } else {
+                                       if (yych <= '%') goto yy251;
+                                       if (yych <= ')') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= '9') goto yy292;
+                                       if (yych <= ':') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '=') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy240;
+                                       if (yych <= '{') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '~') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               }
+yy294:
+               yyaccept = 3;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych <= '/') {
+                       if (yych <= 0x001F) {
+                               if (yych <= '\n') {
+                                       if (yych <= 0x0000) goto yy240;
+                                       if (yych <= 0x0008) goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '\r') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '$') {
+                                       if (yych <= '"') goto yy240;
+                                       if (yych <= '#') goto yy251;
+                                       goto yy256;
+                               } else {
+                                       if (yych <= '%') goto yy251;
+                                       if (yych <= ')') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               } else {
+                       if (yych <= ']') {
+                               if (yych <= ';') {
+                                       if (yych <= '9') goto yy294;
+                                       if (yych <= ':') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '=') goto yy240;
+                                       goto yy251;
+                               }
+                       } else {
+                               if (yych <= '|') {
+                                       if (yych <= '^') goto yy240;
+                                       if (yych <= '{') goto yy251;
+                                       goto yy240;
+                               } else {
+                                       if (yych == '~') goto yy240;
+                                       goto yy251;
+                               }
+                       }
+               }
+yy296:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+               if (yych & ~0xFF) {
+                       goto yy296;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy296;
+               }
+               ++YYCURSOR;
+               {}
+yy300:
+               ++YYCURSOR;
+               {}
+yy302:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy303:
+               if (yych == '\t') goto yy302;
+               if (yych == ' ') goto yy302;
+               goto yy232;
+yy304:
+               yych = *++YYCURSOR;
+               goto yy229;
+yy305:
+               yyaccept = 1;
+               YYMARKER = ++YYCURSOR;
+               YYFILL(2);
+               yych = *YYCURSOR;
+yy306:
+               if (yych <= 0x001F) {
+                       if (yych <= '\n') {
+                               if (yych <= 0x0008) goto yy227;
+                               if (yych <= '\t') goto yy305;
+                               goto yy304;
+                       } else {
+                               if (yych == '\r') goto yy308;
+                               goto yy227;
+                       }
+               } else {
+                       if (yych <= '"') {
+                               if (yych <= ' ') goto yy305;
+                               if (yych <= '!') goto yy227;
+                       } else {
+                               if (yych == ';') goto yy283;
+                               goto yy227;
+                       }
+               }
+               yych = *++YYCURSOR;
+               goto yy234;
+yy308:
+               ++YYCURSOR;
+               if ((yych = *YYCURSOR) == '\n') goto yy304;
+               goto yy229;
+       }
+/* *********************************** */
+yyc_ST_VARNAME:
+       {
+               static const unsigned char yybm[] = {
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128,   0,   0, 128, 128,   0, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128,   0,   0, 128,   0, 128,   0, 128, 
+                         0,   0, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128,   0, 128,   0, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128,   0, 128, 128,   0, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128,   0,   0,   0,   0, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+                       128, 128, 128, 128, 128, 128, 128, 128, 
+               };
+               YYFILL(2);
+               yych = *YYCURSOR;
+               if (yych <= ')') {
+                       if (yych <= '"') {
+                               if (yych <= '\f') {
+                                       if (yych <= 0x0008) goto yy311;
+                                       if (yych <= '\n') goto yy313;
+                               } else {
+                                       if (yych <= '\r') goto yy313;
+                                       if (yych >= '!') goto yy313;
+                               }
+                       } else {
+                               if (yych <= '%') {
+                                       if (yych == '$') goto yy313;
+                               } else {
+                                       if (yych != '\'') goto yy313;
+                               }
+                       }
+               } else {
+                       if (yych <= '[') {
+                               if (yych <= '<') {
+                                       if (yych == ';') goto yy313;
+                               } else {
+                                       if (yych <= '=') goto yy313;
+                                       if (yych >= '[') goto yy313;
+                               }
+                       } else {
+                               if (yych <= 'z') {
+                                       if (yych == '^') goto yy313;
+                               } else {
+                                       if (yych == '}') goto yy315;
+                                       if (yych <= '~') goto yy313;
+                               }
+                       }
+               }
+yy311:
+               ++YYCURSOR;
+               yych = *YYCURSOR;
+               goto yy318;
+yy312:
+               {}
+yy313:
+               ++YYCURSOR;
+               {}
+yy315:
+               ++YYCURSOR;
+               {}
+yy317:
+               ++YYCURSOR;
+               YYFILL(1);
+               yych = *YYCURSOR;
+yy318:
+               if (yych & ~0xFF) {
+                       goto yy317;
+               } else if (yybm[0+yych] & 128) {
+                       goto yy317;
+               }
+               goto yy312;
+       }
+}
+
diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.re b/re2c/test/php20150211_zend_ini_scanner_trimmed.icFwb.re
new file mode 100644 (file)
index 0000000..fa5fae2
--- /dev/null
@@ -0,0 +1,56 @@
+/*!re2c
+re2c:yyfill:check = 0;
+LNUM [0-9]+
+DNUM ([0-9]*[\.][0-9]+)|([0-9]+[\.][0-9]*)
+NUMBER [-]?{LNUM}|{DNUM}
+ANY_CHAR (.|[\n\t])
+NEWLINE        ("\r"|"\n"|"\r\n")
+TABS_AND_SPACES [ \t]
+WHITESPACE [ \t]+
+CONSTANT [a-zA-Z_][a-zA-Z0-9_]*
+LABEL [^=\n\r\t;&|^$~(){}!"\[]+
+TOKENS [:,.\[\]"'()&|^+-/*=%$!~<>?@{}]
+OPERATORS [&|^~()!]
+DOLLAR_CURLY "${"
+
+SECTION_RAW_CHARS [^\]\n\r]
+SINGLE_QUOTED_CHARS [^']
+RAW_VALUE_CHARS [^\n\r;\000]
+
+LITERAL_DOLLAR ("$"([^{\000]|("\\"{ANY_CHAR})))
+VALUE_CHARS         ([^$= \t\n\r;&|^~()!"'\000]|{LITERAL_DOLLAR})
+SECTION_VALUE_CHARS ([^$\n\r;"'\]\\]|("\\"{ANY_CHAR})|{LITERAL_DOLLAR})
+
+<INITIAL>"[" {}
+<ST_VALUE,ST_SECTION_VALUE,ST_OFFSET>"'"{SINGLE_QUOTED_CHARS}+"'" {}
+<ST_SECTION_RAW,ST_SECTION_VALUE>"]"{TABS_AND_SPACES}*{NEWLINE}? {}
+<INITIAL>{LABEL}"["{TABS_AND_SPACES}* {}
+<ST_OFFSET>{TABS_AND_SPACES}*"]" {}
+<ST_DOUBLE_QUOTES,ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{DOLLAR_CURLY} {}
+<ST_VARNAME>{LABEL} {}
+<ST_VARNAME>"}" {}
+<INITIAL,ST_VALUE>("true"|"on"|"yes"){TABS_AND_SPACES}* {}
+<INITIAL,ST_VALUE>("false"|"off"|"no"|"none"){TABS_AND_SPACES}* {}
+<INITIAL,ST_VALUE>("null"){TABS_AND_SPACES}* {}
+<INITIAL>{LABEL} {}
+<INITIAL>{TABS_AND_SPACES}*[=]{TABS_AND_SPACES}* {}
+<ST_RAW>{RAW_VALUE_CHARS} {}
+<ST_SECTION_RAW>{SECTION_RAW_CHARS}+ {}
+<ST_VALUE,ST_RAW>{TABS_AND_SPACES}*{NEWLINE} {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{CONSTANT} {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{NUMBER} {}
+<INITIAL>{TOKENS} {}
+<ST_VALUE>{OPERATORS}{TABS_AND_SPACES}* {}
+<ST_VALUE>[=] {}
+<ST_VALUE>{VALUE_CHARS}+ {}
+<ST_SECTION_VALUE,ST_OFFSET>{SECTION_VALUE_CHARS}+ {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{TABS_AND_SPACES}*["] {}
+<ST_DOUBLE_QUOTES>["]{TABS_AND_SPACES}* {}
+<ST_DOUBLE_QUOTES>[^] {}
+<ST_SECTION_VALUE,ST_VALUE,ST_OFFSET>{WHITESPACE} {}
+<INITIAL,ST_RAW>{TABS_AND_SPACES}+ {}
+<INITIAL>{TABS_AND_SPACES}*{NEWLINE} {}
+<INITIAL,ST_VALUE,ST_RAW>{TABS_AND_SPACES}*[;][^\r\n]*{NEWLINE} {}
+<ST_VALUE,ST_RAW>[^] {}
+<*>[^] {}
+*/
diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c b/re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.c
new file mode 100644 (file)
index 0000000..0e5e607
--- /dev/null
@@ -0,0 +1,82 @@
+/* Generated by re2c */
+
+{
+       YYCTYPE yych;
+       unsigned int yyaccept = 0;
+       static const unsigned char yybm[] = {
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+                64,   0, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+               128, 128, 128, 128, 128, 128, 128, 128, 
+       };
+       if ((YYLIMIT - YYCURSOR) < 2) YYFILL(2);
+       yych = *YYCURSOR;
+       if (yych == '1') goto yy4;
+       yyaccept = 0;
+       yych = *(YYMARKER = ++YYCURSOR);
+       if (yych != '1') goto yy9;
+yy3:
+       { default action }
+yy4:
+       yych = *++YYCURSOR;
+       goto yy3;
+yy5:
+       yyaccept = 1;
+       YYMARKER = ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+       if (yych & ~0xFF) {
+               goto yy8;
+       } else if (yybm[0+yych] & 128) {
+               goto yy8;
+       }
+       if (yych <= '0') goto yy5;
+yy7:
+       { action }
+yy8:
+       ++YYCURSOR;
+       if (YYLIMIT <= YYCURSOR) YYFILL(1);
+       yych = *YYCURSOR;
+yy9:
+       if (yych & ~0xFF) {
+               goto yy8;
+       } else if (yybm[0+yych] & 128) {
+               goto yy8;
+       }
+       if (yych <= '0') goto yy5;
+       YYCURSOR = YYMARKER;
+       if (yyaccept == 0) {
+               goto yy3;
+       } else {
+               goto yy7;
+       }
+}
+
diff --git a/re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.re b/re2c/test/php20150211_zend_ini_scanner_trimmed_minimal_wb_bug.iwb.re
new file mode 100644 (file)
index 0000000..57c07ac
--- /dev/null
@@ -0,0 +1,6 @@
+/*!re2c
+
+    [^1]+ "0" { action }
+    [^]       { default action }
+
+*/