]> granicus.if.org Git - multimarkdown/commitdiff
CHANGED: Recompile lexer using -8 flag
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Wed, 29 Mar 2017 23:02:05 +0000 (19:02 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Wed, 29 Mar 2017 23:02:05 +0000 (19:02 -0400)
Sources/libMultiMarkdown/lexer.c
Sources/libMultiMarkdown/lexer.re
tests/MMD6Tests/Fuzz.fodt
tests/MMD6Tests/Fuzz.html
tests/MMD6Tests/Fuzz.htmlc
tests/MMD6Tests/Fuzz.tex

index 5b51abc23f4d87a29e692aec5ab19f8b69eb7afd..9e0dce9b24e3bc2aea83db2cf4495543790c186f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Wed Mar 29 17:12:29 2017 */
+/* Generated by re2c 0.14.3 on Wed Mar 29 18:33:51 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -83,24 +83,110 @@ int scan(Scanner * s, const char * stop) {
 
        yych = *YYCURSOR;
        switch (yych) {
-       case '\t':      goto yy45;
-       case '\n':      goto yy53;
-       case '\r':      goto yy55;
-       case ' ':       goto yy47;
-       case '!':       goto yy18;
-       case '"':       goto yy28;
-       case '#':       goto yy48;
-       case '$':       goto yy41;
-       case '%':       goto yy50;
-       case '&':       goto yy35;
-       case '\'':      goto yy30;
-       case '(':       goto yy20;
-       case ')':       goto yy22;
-       case '*':       goto yy56;
-       case '+':       goto yy4;
-       case '-':       goto yy6;
-       case '.':       goto yy32;
-       case '/':       goto yy37;
+       case 0x00:
+       case 0x01:
+       case 0x02:
+       case 0x03:
+       case 0x04:
+       case 0x05:
+       case 0x06:
+       case 0x07:
+       case 0x08:
+       case '\v':
+       case '\f':
+       case 0x0E:
+       case 0x0F:
+       case 0x10:
+       case 0x11:
+       case 0x12:
+       case 0x13:
+       case 0x14:
+       case 0x15:
+       case 0x16:
+       case 0x17:
+       case 0x18:
+       case 0x19:
+       case 0x1A:
+       case 0x1B:
+       case 0x1C:
+       case 0x1D:
+       case 0x1E:
+       case 0x1F:
+       case ',':
+       case ';':
+       case '?':
+       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':
+       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 0x7F:      goto yy67;
+       case '\t':      goto yy47;
+       case '\n':      goto yy56;
+       case '\r':      goto yy58;
+       case ' ':       goto yy49;
+       case '!':       goto yy20;
+       case '"':       goto yy30;
+       case '#':       goto yy51;
+       case '$':       goto yy43;
+       case '%':       goto yy53;
+       case '&':       goto yy37;
+       case '\'':      goto yy32;
+       case '(':       goto yy22;
+       case ')':       goto yy24;
+       case '*':       goto yy59;
+       case '+':       goto yy6;
+       case '-':       goto yy8;
+       case '.':       goto yy34;
+       case '/':       goto yy39;
        case '0':
        case '1':
        case '2':
@@ -110,224 +196,437 @@ int scan(Scanner * s, const char * stop) {
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy52;
-       case ':':       goto yy33;
-       case '<':       goto yy8;
-       case '=':       goto yy12;
-       case '>':       goto yy24;
-       case '[':       goto yy14;
-       case '\\':      goto yy39;
-       case ']':       goto yy16;
-       case '^':       goto yy43;
-       case '_':       goto yy58;
-       case '`':       goto yy60;
-       case '{':       goto yy2;
-       case '|':       goto yy62;
-       case '}':       goto yy26;
-       case '~':       goto yy10;
-       default:        goto yy64;
+       case '9':       goto yy55;
+       case ':':       goto yy35;
+       case '<':       goto yy10;
+       case '=':       goto yy14;
+       case '>':       goto yy26;
+       case '[':       goto yy16;
+       case '\\':      goto yy41;
+       case ']':       goto yy18;
+       case '^':       goto yy45;
+       case '_':       goto yy61;
+       case '`':       goto yy63;
+       case '{':       goto yy4;
+       case '|':       goto yy65;
+       case '}':       goto yy28;
+       case '~':       goto yy12;
+       case 0xC2:      goto yy50;
+       case 0xC3:      goto yy3;
+       case 0xC4:
+       case 0xC5:
+       case 0xC6:
+       case 0xC7:
+       case 0xC8:
+       case 0xC9:
+       case 0xCA:
+       case 0xCB:
+       case 0xCC:
+       case 0xCD:
+       case 0xCE:
+       case 0xCF:
+       case 0xD0:
+       case 0xD1:
+       case 0xD2:
+       case 0xD3:
+       case 0xD4:
+       case 0xD5:
+       case 0xD6:
+       case 0xD7:
+       case 0xD8:
+       case 0xD9:
+       case 0xDA:
+       case 0xDB:
+       case 0xDC:
+       case 0xDD:
+       case 0xDE:
+       case 0xDF:      goto yy68;
+       case 0xE0:      goto yy69;
+       case 0xE1:
+       case 0xE2:
+       case 0xE3:
+       case 0xE4:
+       case 0xE5:
+       case 0xE6:
+       case 0xE7:
+       case 0xE8:
+       case 0xE9:
+       case 0xEA:
+       case 0xEB:
+       case 0xEC:
+       case 0xED:
+       case 0xEE:
+       case 0xEF:      goto yy70;
+       case 0xF0:      goto yy71;
+       case 0xF1:
+       case 0xF2:
+       case 0xF3:      goto yy72;
+       case 0xF4:      goto yy73;
+       default:        goto yy2;
        }
 yy2:
-       yyaccept = 0;
-       yych = *(YYMARKER = ++YYCURSOR);
-       switch (yych) {
-       case '+':       goto yy266;
-       case '-':       goto yy265;
-       case '=':       goto yy262;
-       case '>':       goto yy264;
-       case '{':       goto yy260;
-       case '~':       goto yy263;
-       default:        goto yy3;
+       YYCURSOR = YYMARKER;
+       switch (yyaccept) {
+       case 0:         goto yy5;
+       case 1:         goto yy7;
+       case 2:         goto yy11;
+       case 3:         goto yy13;
+       case 4:         goto yy15;
+       case 5:         goto yy21;
+       case 6:         goto yy38;
+       case 7:         goto yy52;
+       case 8:         goto yy82;
+       case 9:         goto yy90;
+       case 10:        goto yy97;
+       case 11:        goto yy106;
+       case 12:        goto yy113;
+       case 13:        goto yy122;
+       case 14:        goto yy129;
+       case 15:        goto yy136;
+       case 16:        goto yy146;
+       default:        goto yy281;
        }
 yy3:
-       { return TEXT_BRACE_LEFT; }
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy67;
+       case 0x83:      goto yy303;
+       default:        goto yy2;
+       }
 yy4:
-       yyaccept = 1;
+       yyaccept = 0;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '+':       goto yy257;
+       case '+':       goto yy286;
+       case '-':       goto yy285;
+       case '=':       goto yy282;
+       case '>':       goto yy284;
+       case '{':       goto yy280;
+       case '~':       goto yy283;
        default:        goto yy5;
        }
 yy5:
-       { return PLUS; }
+       { return TEXT_BRACE_LEFT; }
 yy6:
-       ++YYCURSOR;
-       switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy251;
+       yyaccept = 1;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '+':       goto yy277;
        default:        goto yy7;
        }
 yy7:
-       { return DASH_N; }
+       { return PLUS; }
 yy8:
-       yyaccept = 2;
-       yych = *(YYMARKER = ++YYCURSOR);
-       switch (yych) {
-       case '<':       goto yy248;
+       ++YYCURSOR;
+       switch ((yych = *YYCURSOR)) {
+       case '-':       goto yy271;
        default:        goto yy9;
        }
 yy9:
-       { return ANGLE_LEFT; }
+       { return DASH_N; }
 yy10:
-       yyaccept = 3;
+       yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '>':       goto yy244;
-       case '~':       goto yy243;
+       case '<':       goto yy268;
        default:        goto yy11;
        }
 yy11:
-       { return SUBSCRIPT; }
+       { return ANGLE_LEFT; }
 yy12:
-       yyaccept = 4;
+       yyaccept = 3;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '=':       goto yy240;
+       case '>':       goto yy264;
+       case '~':       goto yy263;
        default:        goto yy13;
        }
 yy13:
-       { return EQUAL; }
+       { return SUBSCRIPT; }
 yy14:
-       ++YYCURSOR;
-       switch ((yych = *YYCURSOR)) {
-       case '#':       goto yy236;
-       case '%':       goto yy230;
-       case '>':       goto yy238;
-       case '?':       goto yy232;
-       case '^':       goto yy234;
+       yyaccept = 4;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '=':       goto yy260;
        default:        goto yy15;
        }
 yy15:
-       { return BRACKET_LEFT; }
+       { return EQUAL; }
 yy16:
        ++YYCURSOR;
-       { return BRACKET_RIGHT; }
+       switch ((yych = *YYCURSOR)) {
+       case '#':       goto yy256;
+       case '%':       goto yy250;
+       case '>':       goto yy258;
+       case '?':       goto yy252;
+       case '^':       goto yy254;
+       default:        goto yy17;
+       }
+yy17:
+       { return BRACKET_LEFT; }
 yy18:
+       ++YYCURSOR;
+       { return BRACKET_RIGHT; }
+yy20:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '[':       goto yy228;
-       default:        goto yy19;
+       case '[':       goto yy248;
+       default:        goto yy21;
        }
-yy19:
+yy21:
        { goto scan; }
-yy20:
+yy22:
        ++YYCURSOR;
        { return PAREN_LEFT; }
-yy22:
+yy24:
        ++YYCURSOR;
        { return PAREN_RIGHT; }
-yy24:
+yy26:
        ++YYCURSOR;
        { return ANGLE_RIGHT; }
-yy26:
+yy28:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '}':       goto yy226;
-       default:        goto yy27;
+       case '}':       goto yy246;
+       default:        goto yy29;
        }
-yy27:
+yy29:
        { return TEXT_BRACE_RIGHT; }
-yy28:
+yy30:
        ++YYCURSOR;
        { return QUOTE_DOUBLE; }
-yy30:
+yy32:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '\'':      goto yy224;
-       default:        goto yy31;
+       case '\'':      goto yy244;
+       default:        goto yy33;
        }
-yy31:
+yy33:
        { return QUOTE_SINGLE; }
-yy32:
+yy34:
        yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case ' ':       goto yy216;
-       case '.':       goto yy217;
-       default:        goto yy19;
+       case ' ':       goto yy236;
+       case '.':       goto yy237;
+       default:        goto yy21;
        }
-yy33:
+yy35:
        ++YYCURSOR;
        { return COLON; }
-yy35:
+yy37:
        yyaccept = 6;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
        case 'A':
-       case 'a':       goto yy211;
-       default:        goto yy36;
+       case 'a':       goto yy231;
+       default:        goto yy38;
        }
-yy36:
+yy38:
        { return AMPERSAND; }
-yy37:
-       ++YYCURSOR;
-       { return SLASH; }
 yy39:
        ++YYCURSOR;
-       switch ((yych = *YYCURSOR)) {
-       case '\n':      goto yy134;
-       case '\r':      goto yy136;
-       case ' ':       goto yy139;
-       case '!':       goto yy199;
-       case '"':       goto yy189;
-       case '#':       goto yy169;
-       case '$':       goto yy167;
-       case '%':       goto yy165;
-       case '&':       goto yy153;
-       case '\'':      goto yy187;
-       case '(':       goto yy181;
-       case ')':       goto yy179;
-       case '*':       goto yy145;
-       case '+':       goto yy163;
-       case ',':       goto yy195;
-       case '-':       goto yy161;
-       case '.':       goto yy201;
-       case '/':       goto yy149;
-       case ':':       goto yy191;
-       case ';':       goto yy193;
-       case '<':       goto yy157;
-       case '=':       goto yy159;
-       case '>':       goto yy155;
-       case '?':       goto yy197;
-       case '@':       goto yy151;
-       case '[':       goto yy173;
-       case '\\':      goto yy137;
-       case ']':       goto yy171;
-       case '^':       goto yy147;
-       case '_':       goto yy143;
-       case '`':       goto yy185;
-       case '{':       goto yy177;
-       case '|':       goto yy141;
-       case '}':       goto yy175;
-       case '~':       goto yy183;
-       default:        goto yy40;
-       }
-yy40:
-       { return TEXT_BACKSLASH; }
+       { return SLASH; }
 yy41:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '$':       goto yy132;
+       case '\n':      goto yy154;
+       case '\r':      goto yy156;
+       case ' ':       goto yy159;
+       case '!':       goto yy219;
+       case '"':       goto yy209;
+       case '#':       goto yy189;
+       case '$':       goto yy187;
+       case '%':       goto yy185;
+       case '&':       goto yy173;
+       case '\'':      goto yy207;
+       case '(':       goto yy201;
+       case ')':       goto yy199;
+       case '*':       goto yy165;
+       case '+':       goto yy183;
+       case ',':       goto yy215;
+       case '-':       goto yy181;
+       case '.':       goto yy221;
+       case '/':       goto yy169;
+       case ':':       goto yy211;
+       case ';':       goto yy213;
+       case '<':       goto yy177;
+       case '=':       goto yy179;
+       case '>':       goto yy175;
+       case '?':       goto yy217;
+       case '@':       goto yy171;
+       case '[':       goto yy193;
+       case '\\':      goto yy157;
+       case ']':       goto yy191;
+       case '^':       goto yy167;
+       case '_':       goto yy163;
+       case '`':       goto yy205;
+       case '{':       goto yy197;
+       case '|':       goto yy161;
+       case '}':       goto yy195;
+       case '~':       goto yy203;
        default:        goto yy42;
        }
 yy42:
-       { return MATH_DOLLAR_SINGLE; }
+       { return TEXT_BACKSLASH; }
 yy43:
        ++YYCURSOR;
-       { return SUPERSCRIPT; }
+       switch ((yych = *YYCURSOR)) {
+       case '$':       goto yy152;
+       default:        goto yy44;
+       }
+yy44:
+       { return MATH_DOLLAR_SINGLE; }
 yy45:
        ++YYCURSOR;
-       { return INDENT_TAB; }
+       { return SUPERSCRIPT; }
 yy47:
+       ++YYCURSOR;
+       { return INDENT_TAB; }
+yy49:
        YYCTXMARKER = YYCURSOR + 1;
-       yych = *++YYCURSOR;
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '\t':      goto yy119;
-       case '\n':      goto yy53;
-       case '\r':      goto yy123;
-       case ' ':       goto yy121;
-       default:        goto yy19;
+       case '\t':      goto yy138;
+       case '\n':      goto yy56;
+       case '\r':      goto yy151;
+       case ' ':       goto yy135;
+       case 0xC2:      goto yy137;
+       default:        goto yy21;
        }
-yy48:
+yy50:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy67;
+       case 0xA0:      goto yy134;
+       default:        goto yy2;
+       }
+yy51:
        YYCTXMARKER = YYCURSOR + 1;
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -335,20 +634,21 @@ yy48:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy80;
-       case '#':       goto yy78;
-       default:        goto yy49;
+       case ' ':
+       case 0xC2:      goto yy89;
+       case '#':       goto yy87;
+       default:        goto yy52;
        }
-yy49:
+yy52:
        { return TEXT_HASH; }
-yy50:
+yy53:
        ++YYCURSOR;
        { return TEXT_PERCENT; }
-yy52:
+yy55:
        yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '.':       goto yy69;
+       case '.':       goto yy78;
        case '0':
        case '1':
        case '2':
@@ -358,85 +658,390 @@ yy52:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy71;
-       default:        goto yy19;
+       case '9':       goto yy79;
+       default:        goto yy21;
        }
-yy53:
+yy56:
        ++YYCURSOR;
-yy54:
+yy57:
        { return TEXT_NL; }
-yy55:
+yy58:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy53;
-       default:        goto yy54;
+       case '\n':      goto yy56;
+       default:        goto yy57;
        }
-yy56:
+yy59:
        ++YYCURSOR;
        { return STAR; }
-yy58:
+yy61:
        ++YYCURSOR;
        { return UL; }
-yy60:
+yy63:
        ++YYCURSOR;
        yych = *YYCURSOR;
-       goto yy68;
-yy61:
+       goto yy77;
+yy64:
        { return BACKTICK; }
-yy62:
+yy65:
        ++YYCURSOR;
        yych = *YYCURSOR;
-       goto yy66;
-yy63:
+       goto yy75;
+yy66:
        { return PIPE; }
-yy64:
+yy67:
        yych = *++YYCURSOR;
-       goto yy19;
-yy65:
+       goto yy21;
+yy68:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy67;
+       default:        goto yy2;
+       }
+yy69:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy68;
+       default:        goto yy2;
+       }
+yy70:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy68;
+       default:        goto yy2;
+       }
+yy71:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy70;
+       default:        goto yy2;
+       }
+yy72:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:
+       case 0x90:
+       case 0x91:
+       case 0x92:
+       case 0x93:
+       case 0x94:
+       case 0x95:
+       case 0x96:
+       case 0x97:
+       case 0x98:
+       case 0x99:
+       case 0x9A:
+       case 0x9B:
+       case 0x9C:
+       case 0x9D:
+       case 0x9E:
+       case 0x9F:
+       case 0xA0:
+       case 0xA1:
+       case 0xA2:
+       case 0xA3:
+       case 0xA4:
+       case 0xA5:
+       case 0xA6:
+       case 0xA7:
+       case 0xA8:
+       case 0xA9:
+       case 0xAA:
+       case 0xAB:
+       case 0xAC:
+       case 0xAD:
+       case 0xAE:
+       case 0xAF:
+       case 0xB0:
+       case 0xB1:
+       case 0xB2:
+       case 0xB3:
+       case 0xB4:
+       case 0xB5:
+       case 0xB6:
+       case 0xB7:
+       case 0xB8:
+       case 0xB9:
+       case 0xBA:
+       case 0xBB:
+       case 0xBC:
+       case 0xBD:
+       case 0xBE:
+       case 0xBF:      goto yy70;
+       default:        goto yy2;
+       }
+yy73:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0x80:
+       case 0x81:
+       case 0x82:
+       case 0x83:
+       case 0x84:
+       case 0x85:
+       case 0x86:
+       case 0x87:
+       case 0x88:
+       case 0x89:
+       case 0x8A:
+       case 0x8B:
+       case 0x8C:
+       case 0x8D:
+       case 0x8E:
+       case 0x8F:      goto yy70;
+       default:        goto yy2;
+       }
+yy74:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy66:
+yy75:
        switch (yych) {
-       case '|':       goto yy65;
-       default:        goto yy63;
+       case '|':       goto yy74;
+       default:        goto yy66;
        }
-yy67:
+yy76:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy68:
+yy77:
        switch (yych) {
-       case '`':       goto yy67;
-       default:        goto yy61;
+       case '`':       goto yy76;
+       default:        goto yy64;
        }
-yy69:
+yy78:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy76;
-       case '\n':      goto yy73;
-       case '\r':      goto yy75;
-       default:        goto yy70;
-       }
-yy70:
-       YYCURSOR = YYMARKER;
-       switch (yyaccept) {
-       case 0:         goto yy3;
-       case 1:         goto yy5;
-       case 2:         goto yy9;
-       case 3:         goto yy11;
-       case 4:         goto yy13;
-       case 5:         goto yy19;
-       case 6:         goto yy36;
-       case 7:         goto yy49;
-       case 8:         goto yy129;
-       default:        goto yy261;
+       case ' ':       goto yy84;
+       case '\n':      goto yy81;
+       case '\r':      goto yy83;
+       case 0xC2:      goto yy86;
+       default:        goto yy2;
        }
-yy71:
+yy79:
        ++YYCURSOR;
        yych = *YYCURSOR;
        switch (yych) {
-       case '.':       goto yy69;
+       case '.':       goto yy78;
        case '0':
        case '1':
        case '2':
@@ -446,337 +1051,416 @@ yy71:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy71;
-       default:        goto yy70;
+       case '9':       goto yy79;
+       default:        goto yy2;
        }
-yy73:
+yy81:
        ++YYCURSOR;
-yy74:
+yy82:
        YYCURSOR = YYCTXMARKER;
        { return TEXT_NUMBER_POSS_LIST; }
-yy75:
+yy83:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy73;
-       default:        goto yy74;
+       case '\n':      goto yy81;
+       default:        goto yy82;
        }
-yy76:
-       ++YYCURSOR;
+yy84:
+       yyaccept = 8;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy76;
-       default:        goto yy74;
+       case ' ':       goto yy84;
+       case 0xC2:      goto yy86;
+       default:        goto yy82;
        }
-yy78:
+yy86:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy84;
+       default:        goto yy2;
+       }
+yy87:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy86;
-       case '#':       goto yy91;
-       default:        goto yy70;
+       case ' ':
+       case 0xC2:      goto yy96;
+       case '#':       goto yy102;
+       default:        goto yy2;
        }
-yy79:
-       ++YYCURSOR;
+yy88:
+       yyaccept = 9;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy80:
+yy89:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy79;
-       case '\n':      goto yy82;
-       case '\r':      goto yy84;
-       default:        goto yy81;
+       case ' ':       goto yy88;
+       case '\n':      goto yy92;
+       case '\r':      goto yy94;
+       case 0xC2:      goto yy91;
+       default:        goto yy90;
        }
-yy81:
+yy90:
        { return HASH1; }
-yy82:
+yy91:
        ++YYCURSOR;
-yy83:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy88;
+       default:        goto yy2;
+       }
+yy92:
+       ++YYCURSOR;
+yy93:
        YYCURSOR = YYCTXMARKER;
        { return HASH1; }
-yy84:
+yy94:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy82;
-       default:        goto yy83;
+       case '\n':      goto yy92;
+       default:        goto yy93;
        }
-yy85:
-       ++YYCURSOR;
+yy95:
+       yyaccept = 10;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy86:
+yy96:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy85;
-       case '\n':      goto yy88;
-       case '\r':      goto yy90;
-       default:        goto yy87;
+       case ' ':       goto yy95;
+       case '\n':      goto yy99;
+       case '\r':      goto yy101;
+       case 0xC2:      goto yy98;
+       default:        goto yy97;
        }
-yy87:
+yy97:
        { return HASH2; }
-yy88:
+yy98:
        ++YYCURSOR;
-yy89:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy95;
+       default:        goto yy2;
+       }
+yy99:
+       ++YYCURSOR;
+yy100:
        YYCURSOR = YYCTXMARKER;
        { return HASH2; }
-yy90:
+yy101:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy88;
-       default:        goto yy89;
+       case '\n':      goto yy99;
+       default:        goto yy100;
        }
-yy91:
+yy102:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy94;
-       case '#':       goto yy92;
-       default:        goto yy70;
+       case ' ':
+       case 0xC2:      goto yy105;
+       case '#':       goto yy103;
+       default:        goto yy2;
        }
-yy92:
+yy103:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy100;
-       case '#':       goto yy105;
-       default:        goto yy70;
+       case ' ':
+       case 0xC2:      goto yy112;
+       case '#':       goto yy118;
+       default:        goto yy2;
        }
-yy93:
-       ++YYCURSOR;
+yy104:
+       yyaccept = 11;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy94:
+yy105:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy93;
-       case '\n':      goto yy96;
-       case '\r':      goto yy98;
-       default:        goto yy95;
+       case ' ':       goto yy104;
+       case '\n':      goto yy108;
+       case '\r':      goto yy110;
+       case 0xC2:      goto yy107;
+       default:        goto yy106;
        }
-yy95:
+yy106:
        { return HASH3; }
-yy96:
+yy107:
        ++YYCURSOR;
-yy97:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy104;
+       default:        goto yy2;
+       }
+yy108:
+       ++YYCURSOR;
+yy109:
        YYCURSOR = YYCTXMARKER;
        { return HASH3; }
-yy98:
+yy110:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy96;
-       default:        goto yy97;
+       case '\n':      goto yy108;
+       default:        goto yy109;
        }
-yy99:
-       ++YYCURSOR;
+yy111:
+       yyaccept = 12;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy100:
+yy112:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy99;
-       case '\n':      goto yy102;
-       case '\r':      goto yy104;
-       default:        goto yy101;
+       case ' ':       goto yy111;
+       case '\n':      goto yy115;
+       case '\r':      goto yy117;
+       case 0xC2:      goto yy114;
+       default:        goto yy113;
        }
-yy101:
+yy113:
        { return HASH4; }
-yy102:
+yy114:
        ++YYCURSOR;
-yy103:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy111;
+       default:        goto yy2;
+       }
+yy115:
+       ++YYCURSOR;
+yy116:
        YYCURSOR = YYCTXMARKER;
        { return HASH4; }
-yy104:
+yy117:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy102;
-       default:        goto yy103;
+       case '\n':      goto yy115;
+       default:        goto yy116;
        }
-yy105:
+yy118:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy108;
-       case '#':       goto yy106;
-       default:        goto yy70;
+       case ' ':
+       case 0xC2:      goto yy121;
+       case '#':       goto yy119;
+       default:        goto yy2;
        }
-yy106:
+yy119:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy114;
-       default:        goto yy70;
+       case ' ':
+       case 0xC2:      goto yy128;
+       default:        goto yy2;
        }
-yy107:
-       ++YYCURSOR;
+yy120:
+       yyaccept = 13;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy108:
+yy121:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy107;
-       case '\n':      goto yy110;
-       case '\r':      goto yy112;
-       default:        goto yy109;
+       case ' ':       goto yy120;
+       case '\n':      goto yy124;
+       case '\r':      goto yy126;
+       case 0xC2:      goto yy123;
+       default:        goto yy122;
        }
-yy109:
+yy122:
        { return HASH5; }
-yy110:
+yy123:
        ++YYCURSOR;
-yy111:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy120;
+       default:        goto yy2;
+       }
+yy124:
+       ++YYCURSOR;
+yy125:
        YYCURSOR = YYCTXMARKER;
        { return HASH5; }
-yy112:
+yy126:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy110;
-       default:        goto yy111;
+       case '\n':      goto yy124;
+       default:        goto yy125;
        }
-yy113:
-       ++YYCURSOR;
+yy127:
+       yyaccept = 14;
+       YYMARKER = ++YYCURSOR;
        yych = *YYCURSOR;
-yy114:
+yy128:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy113;
-       case '\n':      goto yy116;
-       case '\r':      goto yy118;
-       default:        goto yy115;
+       case ' ':       goto yy127;
+       case '\n':      goto yy131;
+       case '\r':      goto yy133;
+       case 0xC2:      goto yy130;
+       default:        goto yy129;
        }
-yy115:
+yy129:
        { return HASH6; }
-yy116:
+yy130:
        ++YYCURSOR;
-yy117:
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy127;
+       default:        goto yy2;
+       }
+yy131:
+       ++YYCURSOR;
+yy132:
        YYCURSOR = YYCTXMARKER;
        { return HASH6; }
-yy118:
+yy133:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy116;
-       default:        goto yy117;
+       case '\n':      goto yy131;
+       default:        goto yy132;
        }
-yy119:
-       ++YYCURSOR;
-       YYCURSOR = YYCTXMARKER;
-       { return NON_INDENT_SPACE; }
-yy121:
-       ++YYCURSOR;
-       switch ((yych = *YYCURSOR)) {
-       case '\n':      goto yy125;
-       case '\r':      goto yy127;
-       case ' ':       goto yy124;
-       default:        goto yy122;
+yy134:
+       YYCTXMARKER = YYCURSOR + 1;
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\t':      goto yy138;
+       case ' ':       goto yy135;
+       case 0xC2:      goto yy137;
+       default:        goto yy21;
        }
-yy122:
+yy135:
+       yyaccept = 15;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':      goto yy142;
+       case '\r':      goto yy144;
+       case ' ':       goto yy140;
+       case 0xC2:      goto yy141;
+       default:        goto yy136;
+       }
+yy136:
        { return NON_INDENT_SPACE; }
-yy123:
+yy137:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy53;
-       default:        goto yy54;
+       case 0xA0:      goto yy135;
+       default:        goto yy2;
        }
-yy124:
+yy138:
+       ++YYCURSOR;
+       YYCURSOR = YYCTXMARKER;
+       { return NON_INDENT_SPACE; }
+yy140:
+       yyaccept = 15;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case '\n':      goto yy142;
+       case '\r':      goto yy144;
+       case ' ':       goto yy145;
+       case 0xC2:      goto yy147;
+       default:        goto yy136;
+       }
+yy141:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy125;
-       case '\r':      goto yy127;
-       case ' ':       goto yy128;
-       default:        goto yy122;
+       case 0xA0:      goto yy140;
+       default:        goto yy2;
        }
-yy125:
+yy142:
        ++YYCURSOR;
-yy126:
+yy143:
        { return TEXT_LINEBREAK; }
-yy127:
+yy144:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy125;
-       default:        goto yy126;
+       case '\n':      goto yy142;
+       default:        goto yy143;
        }
-yy128:
-       yyaccept = 8;
+yy145:
+       yyaccept = 16;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '\n':      goto yy125;
-       case '\r':      goto yy127;
-       case ' ':       goto yy130;
-       default:        goto yy129;
+       case '\n':      goto yy142;
+       case '\r':      goto yy144;
+       case ' ':       goto yy148;
+       case 0xC2:      goto yy150;
+       default:        goto yy146;
        }
-yy129:
+yy146:
        { return INDENT_SPACE; }
-yy130:
+yy147:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy145;
+       default:        goto yy2;
+       }
+yy148:
        ++YYCURSOR;
        yych = *YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy125;
-       case '\r':      goto yy127;
-       case ' ':       goto yy130;
-       default:        goto yy70;
+       case '\n':      goto yy142;
+       case '\r':      goto yy144;
+       case ' ':       goto yy148;
+       case 0xC2:      goto yy150;
+       default:        goto yy2;
        }
-yy132:
+yy150:
+       ++YYCURSOR;
+       yych = *YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy148;
+       default:        goto yy2;
+       }
+yy151:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy56;
+       default:        goto yy57;
+       }
+yy152:
        ++YYCURSOR;
        { return MATH_DOLLAR_DOUBLE; }
-yy134:
+yy154:
        ++YYCURSOR;
-yy135:
+yy155:
        { return TEXT_LINEBREAK; }
-yy136:
+yy156:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy134;
-       default:        goto yy135;
+       case '\n':      goto yy154;
+       default:        goto yy155;
        }
-yy137:
+yy157:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '(':       goto yy203;
-       case ')':       goto yy205;
-       case '[':       goto yy207;
-       case ']':       goto yy209;
-       default:        goto yy138;
+       case '(':       goto yy223;
+       case ')':       goto yy225;
+       case '[':       goto yy227;
+       case ']':       goto yy229;
+       default:        goto yy158;
        }
-yy138:
-       { return ESCAPED_CHARACTER; }
-yy139:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy141:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy143:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy145:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy147:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy149:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy151:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy153:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy155:
-       ++YYCURSOR;
-       { return ESCAPED_CHARACTER; }
-yy157:
-       ++YYCURSOR;
+yy158:
        { return ESCAPED_CHARACTER; }
 yy159:
        ++YYCURSOR;
@@ -846,228 +1530,274 @@ yy201:
        { return ESCAPED_CHARACTER; }
 yy203:
        ++YYCURSOR;
-       { return MATH_PAREN_OPEN; }
+       { return ESCAPED_CHARACTER; }
 yy205:
        ++YYCURSOR;
-       { return MATH_PAREN_CLOSE; }
+       { return ESCAPED_CHARACTER; }
 yy207:
        ++YYCURSOR;
-       { return MATH_BRACKET_OPEN; }
+       { return ESCAPED_CHARACTER; }
 yy209:
        ++YYCURSOR;
-       { return MATH_BRACKET_CLOSE; }
+       { return ESCAPED_CHARACTER; }
 yy211:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy213:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy215:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy217:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy219:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy221:
+       ++YYCURSOR;
+       { return ESCAPED_CHARACTER; }
+yy223:
+       ++YYCURSOR;
+       { return MATH_PAREN_OPEN; }
+yy225:
+       ++YYCURSOR;
+       { return MATH_PAREN_CLOSE; }
+yy227:
+       ++YYCURSOR;
+       { return MATH_BRACKET_OPEN; }
+yy229:
+       ++YYCURSOR;
+       { return MATH_BRACKET_CLOSE; }
+yy231:
        yych = *++YYCURSOR;
        switch (yych) {
        case 'M':
-       case 'm':       goto yy212;
-       default:        goto yy70;
+       case 'm':       goto yy232;
+       default:        goto yy2;
        }
-yy212:
+yy232:
        yych = *++YYCURSOR;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy213;
-       default:        goto yy70;
+       case 'p':       goto yy233;
+       default:        goto yy2;
        }
-yy213:
+yy233:
        yych = *++YYCURSOR;
        switch (yych) {
-       case ';':       goto yy214;
-       default:        goto yy70;
+       case ';':       goto yy234;
+       default:        goto yy2;
        }
-yy214:
+yy234:
        ++YYCURSOR;
        { return AMPERSAND_LONG; }
-yy216:
+yy236:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy220;
-       default:        goto yy70;
+       case '.':       goto yy240;
+       default:        goto yy2;
        }
-yy217:
+yy237:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy218;
-       default:        goto yy70;
+       case '.':       goto yy238;
+       default:        goto yy2;
        }
-yy218:
+yy238:
        ++YYCURSOR;
        { return ELLIPSIS; }
-yy220:
+yy240:
        yych = *++YYCURSOR;
        switch (yych) {
-       case ' ':       goto yy221;
-       default:        goto yy70;
+       case ' ':       goto yy241;
+       default:        goto yy2;
        }
-yy221:
+yy241:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy222;
-       default:        goto yy70;
+       case '.':       goto yy242;
+       default:        goto yy2;
        }
-yy222:
+yy242:
        ++YYCURSOR;
        { return ELLIPSIS; }
-yy224:
+yy244:
        ++YYCURSOR;
        { return QUOTE_RIGHT_ALT; }
-yy226:
+yy246:
        ++YYCURSOR;
        { return BRACE_DOUBLE_RIGHT; }
-yy228:
+yy248:
        ++YYCURSOR;
        { return BRACKET_IMAGE_LEFT; }
-yy230:
+yy250:
        ++YYCURSOR;
        { return BRACKET_VARIABLE_LEFT; }
-yy232:
+yy252:
        ++YYCURSOR;
        { return BRACKET_GLOSSARY_LEFT; }
-yy234:
+yy254:
        ++YYCURSOR;
        { return BRACKET_FOOTNOTE_LEFT; }
-yy236:
+yy256:
        ++YYCURSOR;
        { return BRACKET_CITATION_LEFT; }
-yy238:
+yy258:
        ++YYCURSOR;
        { return BRACKET_ABBREVIATION_LEFT; }
-yy240:
+yy260:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy241;
-       default:        goto yy70;
+       case '}':       goto yy261;
+       default:        goto yy2;
        }
-yy241:
+yy261:
        ++YYCURSOR;
        { return CRITIC_HI_CLOSE; }
-yy243:
+yy263:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy246;
-       default:        goto yy70;
+       case '}':       goto yy266;
+       default:        goto yy2;
        }
-yy244:
+yy264:
        ++YYCURSOR;
        { return CRITIC_SUB_DIV; }
-yy246:
+yy266:
        ++YYCURSOR;
        { return CRITIC_SUB_CLOSE; }
-yy248:
+yy268:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy249;
-       default:        goto yy70;
+       case '}':       goto yy269;
+       default:        goto yy2;
        }
-yy249:
+yy269:
        ++YYCURSOR;
        { return CRITIC_COM_CLOSE; }
-yy251:
+yy271:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy255;
-       case '}':       goto yy253;
-       default:        goto yy252;
+       case '-':       goto yy275;
+       case '}':       goto yy273;
+       default:        goto yy272;
        }
-yy252:
+yy272:
        { return DASH_N; }
-yy253:
+yy273:
        ++YYCURSOR;
        { return CRITIC_DEL_CLOSE; }
-yy255:
+yy275:
        ++YYCURSOR;
        { return DASH_M; }
-yy257:
+yy277:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy258;
-       default:        goto yy70;
+       case '}':       goto yy278;
+       default:        goto yy2;
        }
-yy258:
+yy278:
        ++YYCURSOR;
        { return CRITIC_ADD_CLOSE; }
-yy260:
-       yyaccept = 9;
+yy280:
+       yyaccept = 17;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case 'T':       goto yy277;
-       default:        goto yy261;
+       case 'T':       goto yy297;
+       default:        goto yy281;
        }
-yy261:
+yy281:
        { return BRACE_DOUBLE_LEFT; }
-yy262:
+yy282:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '=':       goto yy275;
-       default:        goto yy70;
+       case '=':       goto yy295;
+       default:        goto yy2;
        }
-yy263:
+yy283:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '~':       goto yy273;
-       default:        goto yy70;
+       case '~':       goto yy293;
+       default:        goto yy2;
        }
-yy264:
+yy284:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '>':       goto yy271;
-       default:        goto yy70;
+       case '>':       goto yy291;
+       default:        goto yy2;
        }
-yy265:
+yy285:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '-':       goto yy269;
-       default:        goto yy70;
+       case '-':       goto yy289;
+       default:        goto yy2;
        }
-yy266:
+yy286:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '+':       goto yy267;
-       default:        goto yy70;
+       case '+':       goto yy287;
+       default:        goto yy2;
        }
-yy267:
+yy287:
        ++YYCURSOR;
        { return CRITIC_ADD_OPEN; }
-yy269:
+yy289:
        ++YYCURSOR;
        { return CRITIC_DEL_OPEN; }
-yy271:
+yy291:
        ++YYCURSOR;
        { return CRITIC_COM_OPEN; }
-yy273:
+yy293:
        ++YYCURSOR;
        { return CRITIC_SUB_OPEN; }
-yy275:
+yy295:
        ++YYCURSOR;
        { return CRITIC_HI_OPEN; }
-yy277:
+yy297:
        yych = *++YYCURSOR;
        switch (yych) {
-       case 'O':       goto yy278;
-       default:        goto yy70;
+       case 'O':       goto yy298;
+       default:        goto yy2;
        }
-yy278:
+yy298:
        yych = *++YYCURSOR;
        switch (yych) {
-       case 'C':       goto yy279;
-       default:        goto yy70;
+       case 'C':       goto yy299;
+       default:        goto yy2;
        }
-yy279:
+yy299:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy280;
-       default:        goto yy70;
+       case '}':       goto yy300;
+       default:        goto yy2;
        }
-yy280:
+yy300:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy281;
-       default:        goto yy70;
+       case '}':       goto yy301;
+       default:        goto yy2;
        }
-yy281:
+yy301:
        ++YYCURSOR;
        { return TOC; }
+yy303:
+       yyaccept = 5;
+       yych = *(YYMARKER = ++YYCURSOR);
+       switch (yych) {
+       case 0xC2:      goto yy304;
+       default:        goto yy21;
+       }
+yy304:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case 0xA0:      goto yy305;
+       default:        goto yy2;
+       }
+yy305:
+       ++YYCURSOR;
+       { return TEXT_PLAIN; }
 }
 
 }
index df5dcac7e1cd6d4f024e6f99938f696a530cc70f..44fd2654459ee455781af1f2228a82860348d49b 100644 (file)
@@ -79,21 +79,21 @@ int scan(Scanner * s, const char * stop) {
                re2c:yyfill:enable = 0;
 
                NL                                                              = "\r\n" | '\n' | '\r';
-               WS                                                              = [ \t];        // Whitespace from char_lookup.c
+               WS                                                              = [ \t\240];    // Whitespace from char_lookup.c
                SP                                                              = WS+;
 
                SPNL                                                    = WS* NL;
 
                INDENT_TAB                                              = '\t';
-               INDENT_SPACE                                    = [ ]{4};
-               NON_INDENT_SPACE                                = [ ]{2,3};
+               INDENT_SPACE                                    = [ \240]{4};
+               NON_INDENT_SPACE                                = [ \240]{2,3};
 
-               TEXT_LINEBREAK                                  = [ ]{2,} NL;
+               TEXT_LINEBREAK                                  = [ \240]{2,} NL;
 
                // The order of these seems to matter
 
                // Don't split `à` character
-               //'\303' '\240'                                 { return TEXT_PLAIN; }
+               '\303' '\240'                                   { return TEXT_PLAIN; }
 
                "{{TOC}}"                                               { return TOC; }
 
@@ -229,7 +229,7 @@ int scan(Scanner * s, const char * stop) {
                ' '? NL                                                 { return TEXT_NL; }
 
                NON_INDENT_SPACE                                { return NON_INDENT_SPACE; }
-               [ ] / '\t'                                      { return NON_INDENT_SPACE; }
+               [ \240] / '\t'                                  { return NON_INDENT_SPACE; }
 
                "*"                                                             { return STAR; }
                "+"                                                             { return PLUS; }
index b0be3a5f799c362d4d95ba9aa28d45beeedfd134..f002532aed7d42ea8daffe1594affc2e6dd82f1a 100644 (file)
@@ -310,7 +310,7 @@ list</text:p></text:list-item>
 foo</text:p></text:list-item>
 
 <text:list-item>
-<text:p text:style-name="Standard">  foo</text:p></text:list-item>
+<text:p text:style-name="Standard">foo</text:p></text:list-item>
 
 </text:list>
 
index b625f30aca150eb2a511a7d81fc1dbf4452b9651..bb63f28e97f260a00ae0cb9b3afbc61a9701cd98 100644 (file)
@@ -31,7 +31,7 @@
 
 <ul>
 <li>foo</li>
-<li>  foo</li>
+<li>foo</li>
 </ul>
 
 <p>(This must be at end of file without trailing newline)</p>
index 88d697b19912345107c92d286e2007a05e51bfc5..098c2b0bcc59c3ec19ddd19a04e29b70a20c2cd2 100644 (file)
@@ -30,7 +30,7 @@ latex config: article</p>
 
 <ul>
 <li>foo</li>
-<li>  foo</li>
+<li>foo</li>
 </ul>
 
 <p>(This must be at end of file without trailing newline)</p>
index aec37101d3f55fc2db47036b05b56b4dcd98109c..c4467045a3a25d4e97e44675ef12a937929d66ed 100644 (file)
@@ -33,7 +33,7 @@ f \gls{o o} f \gls{o o}
 \begin{itemize}
 \item{} foo
 
-\item{} Â  foo
+\item{} foo
 
 \end{itemize}