]> granicus.if.org Git - multimarkdown/commitdiff
FIXED: Include non-breaking space (ASCII 160) in re2c patterns
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Wed, 15 Mar 2017 04:33:18 +0000 (00:33 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Wed, 15 Mar 2017 04:33:18 +0000 (00:33 -0400)
Sources/libMultiMarkdown/lexer.c
Sources/libMultiMarkdown/lexer.re
Sources/libMultiMarkdown/scanners.c
Sources/libMultiMarkdown/scanners.re

index d2c41cc71610ce6a929036175cfb4f0bfbf57122..19520d1da4339757bc6a32755ea3c3f89cc0760c 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Tue Mar 14 10:21:05 2017 */
+/* Generated by re2c 0.14.3 on Wed Mar 15 00:32:21 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
 
 // Basic scanner struct
 
-#define YYCTYPE                char
+#define YYCTYPE                unsigned char
 #define YYCURSOR       s->cur
 #define YYMARKER       s->ptr
 #define YYCTXMARKER    s->ctx
 
-
 int scan(Scanner * s, const char * stop) {
 
        scan:
@@ -85,19 +84,19 @@ int scan(Scanner * s, const char * stop) {
        yych = *YYCURSOR;
        switch (yych) {
        case '\t':      goto yy45;
-       case '\n':      goto yy53;
-       case '\r':      goto yy55;
+       case '\n':      goto yy54;
+       case '\r':      goto yy56;
        case ' ':       goto yy47;
        case '!':       goto yy18;
        case '"':       goto yy28;
-       case '#':       goto yy48;
+       case '#':       goto yy49;
        case '$':       goto yy41;
-       case '%':       goto yy50;
+       case '%':       goto yy51;
        case '&':       goto yy35;
        case '\'':      goto yy30;
        case '(':       goto yy20;
        case ')':       goto yy22;
-       case '*':       goto yy56;
+       case '*':       goto yy57;
        case '+':       goto yy4;
        case '-':       goto yy6;
        case '.':       goto yy32;
@@ -111,7 +110,7 @@ int scan(Scanner * s, const char * stop) {
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy52;
+       case '9':       goto yy53;
        case ':':       goto yy33;
        case '<':       goto yy8;
        case '=':       goto yy12;
@@ -120,24 +119,25 @@ int scan(Scanner * s, const char * stop) {
        case '\\':      goto yy39;
        case ']':       goto yy16;
        case '^':       goto yy43;
-       case '_':       goto yy58;
-       case '`':       goto yy60;
+       case '_':       goto yy59;
+       case '`':       goto yy61;
        case '{':       goto yy2;
-       case '|':       goto yy62;
+       case '|':       goto yy63;
        case '}':       goto yy26;
        case '~':       goto yy10;
-       default:        goto yy64;
+       case 0xA0:      goto yy48;
+       default:        goto yy65;
        }
 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;
+       case '+':       goto yy267;
+       case '-':       goto yy266;
+       case '=':       goto yy263;
+       case '>':       goto yy265;
+       case '{':       goto yy261;
+       case '~':       goto yy264;
        default:        goto yy3;
        }
 yy3:
@@ -146,7 +146,7 @@ yy4:
        yyaccept = 1;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '+':       goto yy257;
+       case '+':       goto yy258;
        default:        goto yy5;
        }
 yy5:
@@ -154,7 +154,7 @@ yy5:
 yy6:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy251;
+       case '-':       goto yy252;
        default:        goto yy7;
        }
 yy7:
@@ -163,7 +163,7 @@ yy8:
        yyaccept = 2;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '<':       goto yy248;
+       case '<':       goto yy249;
        default:        goto yy9;
        }
 yy9:
@@ -172,8 +172,8 @@ yy10:
        yyaccept = 3;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '>':       goto yy244;
-       case '~':       goto yy243;
+       case '>':       goto yy245;
+       case '~':       goto yy244;
        default:        goto yy11;
        }
 yy11:
@@ -182,7 +182,7 @@ yy12:
        yyaccept = 4;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '=':       goto yy240;
+       case '=':       goto yy241;
        default:        goto yy13;
        }
 yy13:
@@ -190,11 +190,11 @@ yy13:
 yy14:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '#':       goto yy236;
-       case '%':       goto yy230;
-       case '>':       goto yy238;
-       case '?':       goto yy232;
-       case '^':       goto yy234;
+       case '#':       goto yy237;
+       case '%':       goto yy231;
+       case '>':       goto yy239;
+       case '?':       goto yy233;
+       case '^':       goto yy235;
        default:        goto yy15;
        }
 yy15:
@@ -205,7 +205,7 @@ yy16:
 yy18:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '[':       goto yy228;
+       case '[':       goto yy229;
        default:        goto yy19;
        }
 yy19:
@@ -222,7 +222,7 @@ yy24:
 yy26:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '}':       goto yy226;
+       case '}':       goto yy227;
        default:        goto yy27;
        }
 yy27:
@@ -233,7 +233,7 @@ yy28:
 yy30:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '\'':      goto yy224;
+       case '\'':      goto yy225;
        default:        goto yy31;
        }
 yy31:
@@ -242,8 +242,8 @@ yy32:
        yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case ' ':       goto yy216;
-       case '.':       goto yy217;
+       case ' ':       goto yy217;
+       case '.':       goto yy218;
        default:        goto yy19;
        }
 yy33:
@@ -254,7 +254,7 @@ yy35:
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
        case 'A':
-       case 'a':       goto yy211;
+       case 'a':       goto yy212;
        default:        goto yy36;
        }
 yy36:
@@ -265,41 +265,41 @@ yy37:
 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;
+       case '\n':      goto yy135;
+       case '\r':      goto yy137;
+       case ' ':       goto yy140;
+       case '!':       goto yy200;
+       case '"':       goto yy190;
+       case '#':       goto yy170;
+       case '$':       goto yy168;
+       case '%':       goto yy166;
+       case '&':       goto yy154;
+       case '\'':      goto yy188;
+       case '(':       goto yy182;
+       case ')':       goto yy180;
+       case '*':       goto yy146;
+       case '+':       goto yy164;
+       case ',':       goto yy196;
+       case '-':       goto yy162;
+       case '.':       goto yy202;
+       case '/':       goto yy150;
+       case ':':       goto yy192;
+       case ';':       goto yy194;
+       case '<':       goto yy158;
+       case '=':       goto yy160;
+       case '>':       goto yy156;
+       case '?':       goto yy198;
+       case '@':       goto yy152;
+       case '[':       goto yy174;
+       case '\\':      goto yy138;
+       case ']':       goto yy172;
+       case '^':       goto yy148;
+       case '_':       goto yy144;
+       case '`':       goto yy186;
+       case '{':       goto yy178;
+       case '|':       goto yy142;
+       case '}':       goto yy176;
+       case '~':       goto yy184;
        default:        goto yy40;
        }
 yy40:
@@ -307,7 +307,7 @@ yy40:
 yy41:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '$':       goto yy132;
+       case '$':       goto yy133;
        default:        goto yy42;
        }
 yy42:
@@ -322,13 +322,23 @@ yy47:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\t':      goto yy119;
-       case '\n':      goto yy53;
-       case '\r':      goto yy123;
-       case ' ':       goto yy121;
+       case '\t':      goto yy120;
+       case '\n':      goto yy54;
+       case '\r':      goto yy132;
+       case ' ':
+       case 0xA0:      goto yy122;
        default:        goto yy19;
        }
 yy48:
+       YYCTXMARKER = YYCURSOR + 1;
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\t':      goto yy120;
+       case ' ':
+       case 0xA0:      goto yy122;
+       default:        goto yy19;
+       }
+yy49:
        YYCTXMARKER = YYCURSOR + 1;
        yyaccept = 7;
        yych = *(YYMARKER = ++YYCURSOR);
@@ -336,20 +346,21 @@ yy48:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy80;
-       case '#':       goto yy78;
-       default:        goto yy49;
+       case ' ':
+       case 0xA0:      goto yy81;
+       case '#':       goto yy79;
+       default:        goto yy50;
        }
-yy49:
-       { return TEXT_HASH; }
 yy50:
+       { return TEXT_HASH; }
+yy51:
        ++YYCURSOR;
        { return TEXT_PERCENT; }
-yy52:
+yy53:
        yyaccept = 5;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case '.':       goto yy69;
+       case '.':       goto yy70;
        case '0':
        case '1':
        case '2':
@@ -359,67 +370,68 @@ yy52:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy71;
+       case '9':       goto yy72;
        default:        goto yy19;
        }
-yy53:
-       ++YYCURSOR;
 yy54:
-       { return TEXT_NL; }
+       ++YYCURSOR;
 yy55:
+       { return TEXT_NL; }
+yy56:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy53;
-       default:        goto yy54;
+       case '\n':      goto yy54;
+       default:        goto yy55;
        }
-yy56:
+yy57:
        ++YYCURSOR;
        { return STAR; }
-yy58:
+yy59:
        ++YYCURSOR;
        { return UL; }
-yy60:
+yy61:
        ++YYCURSOR;
        yych = *YYCURSOR;
-       goto yy68;
-yy61:
-       { return BACKTICK; }
+       goto yy69;
 yy62:
+       { return BACKTICK; }
+yy63:
        ++YYCURSOR;
        yych = *YYCURSOR;
-       goto yy66;
-yy63:
-       { return PIPE; }
+       goto yy67;
 yy64:
+       { return PIPE; }
+yy65:
        yych = *++YYCURSOR;
        goto yy19;
-yy65:
+yy66:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy66:
+yy67:
        switch (yych) {
-       case '|':       goto yy65;
-       default:        goto yy63;
+       case '|':       goto yy66;
+       default:        goto yy64;
        }
-yy67:
+yy68:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy68:
+yy69:
        switch (yych) {
-       case '`':       goto yy67;
-       default:        goto yy61;
+       case '`':       goto yy68;
+       default:        goto yy62;
        }
-yy69:
+yy70:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy76;
-       case '\n':      goto yy73;
-       case '\r':      goto yy75;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy77;
+       case '\n':      goto yy74;
+       case '\r':      goto yy76;
+       default:        goto yy71;
        }
-yy70:
+yy71:
        YYCURSOR = YYMARKER;
        switch (yyaccept) {
        case 0:         goto yy3;
@@ -429,15 +441,15 @@ yy70:
        case 4:         goto yy13;
        case 5:         goto yy19;
        case 6:         goto yy36;
-       case 7:         goto yy49;
+       case 7:         goto yy50;
        case 8:         goto yy129;
-       default:        goto yy261;
+       default:        goto yy262;
        }
-yy71:
+yy72:
        ++YYCURSOR;
        yych = *YYCURSOR;
        switch (yych) {
-       case '.':       goto yy69;
+       case '.':       goto yy70;
        case '0':
        case '1':
        case '2':
@@ -447,253 +459,261 @@ yy71:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy71;
-       default:        goto yy70;
+       case '9':       goto yy72;
+       default:        goto yy71;
        }
-yy73:
-       ++YYCURSOR;
 yy74:
+       ++YYCURSOR;
+yy75:
        YYCURSOR = YYCTXMARKER;
        { return TEXT_NUMBER_POSS_LIST; }
-yy75:
+yy76:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy73;
-       default:        goto yy74;
+       case '\n':      goto yy74;
+       default:        goto yy75;
        }
-yy76:
+yy77:
        ++YYCURSOR;
        yych = *YYCURSOR;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy76;
-       default:        goto yy74;
+       case ' ':
+       case 0xA0:      goto yy77;
+       default:        goto yy75;
        }
-yy78:
+yy79:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy86;
-       case '#':       goto yy91;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy87;
+       case '#':       goto yy92;
+       default:        goto yy71;
        }
-yy79:
+yy80:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy80:
+yy81:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy79;
-       case '\n':      goto yy82;
-       case '\r':      goto yy84;
-       default:        goto yy81;
+       case ' ':
+       case 0xA0:      goto yy80;
+       case '\n':      goto yy83;
+       case '\r':      goto yy85;
+       default:        goto yy82;
        }
-yy81:
-       { return HASH1; }
 yy82:
-       ++YYCURSOR;
+       { return HASH1; }
 yy83:
+       ++YYCURSOR;
+yy84:
        YYCURSOR = YYCTXMARKER;
        { return HASH1; }
-yy84:
+yy85:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy82;
-       default:        goto yy83;
+       case '\n':      goto yy83;
+       default:        goto yy84;
        }
-yy85:
+yy86:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy86:
+yy87:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy85;
-       case '\n':      goto yy88;
-       case '\r':      goto yy90;
-       default:        goto yy87;
+       case ' ':
+       case 0xA0:      goto yy86;
+       case '\n':      goto yy89;
+       case '\r':      goto yy91;
+       default:        goto yy88;
        }
-yy87:
-       { return HASH2; }
 yy88:
-       ++YYCURSOR;
+       { return HASH2; }
 yy89:
+       ++YYCURSOR;
+yy90:
        YYCURSOR = YYCTXMARKER;
        { return HASH2; }
-yy90:
+yy91:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy88;
-       default:        goto yy89;
+       case '\n':      goto yy89;
+       default:        goto yy90;
        }
-yy91:
+yy92:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy94;
-       case '#':       goto yy92;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy95;
+       case '#':       goto yy93;
+       default:        goto yy71;
        }
-yy92:
+yy93:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy100;
-       case '#':       goto yy105;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy101;
+       case '#':       goto yy106;
+       default:        goto yy71;
        }
-yy93:
+yy94:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy94:
+yy95:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy93;
-       case '\n':      goto yy96;
-       case '\r':      goto yy98;
-       default:        goto yy95;
+       case ' ':
+       case 0xA0:      goto yy94;
+       case '\n':      goto yy97;
+       case '\r':      goto yy99;
+       default:        goto yy96;
        }
-yy95:
-       { return HASH3; }
 yy96:
-       ++YYCURSOR;
+       { return HASH3; }
 yy97:
+       ++YYCURSOR;
+yy98:
        YYCURSOR = YYCTXMARKER;
        { return HASH3; }
-yy98:
+yy99:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy96;
-       default:        goto yy97;
+       case '\n':      goto yy97;
+       default:        goto yy98;
        }
-yy99:
+yy100:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy100:
+yy101:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy99;
-       case '\n':      goto yy102;
-       case '\r':      goto yy104;
-       default:        goto yy101;
+       case ' ':
+       case 0xA0:      goto yy100;
+       case '\n':      goto yy103;
+       case '\r':      goto yy105;
+       default:        goto yy102;
        }
-yy101:
-       { return HASH4; }
 yy102:
-       ++YYCURSOR;
+       { return HASH4; }
 yy103:
+       ++YYCURSOR;
+yy104:
        YYCURSOR = YYCTXMARKER;
        { return HASH4; }
-yy104:
+yy105:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy102;
-       default:        goto yy103;
+       case '\n':      goto yy103;
+       default:        goto yy104;
        }
-yy105:
+yy106:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy108;
-       case '#':       goto yy106;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy109;
+       case '#':       goto yy107;
+       default:        goto yy71;
        }
-yy106:
+yy107:
        YYCTXMARKER = YYCURSOR + 1;
        yych = *++YYCURSOR;
        switch (yych) {
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy114;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy115;
+       default:        goto yy71;
        }
-yy107:
+yy108:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy108:
+yy109:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy107;
-       case '\n':      goto yy110;
-       case '\r':      goto yy112;
-       default:        goto yy109;
+       case ' ':
+       case 0xA0:      goto yy108;
+       case '\n':      goto yy111;
+       case '\r':      goto yy113;
+       default:        goto yy110;
        }
-yy109:
-       { return HASH5; }
 yy110:
-       ++YYCURSOR;
+       { return HASH5; }
 yy111:
+       ++YYCURSOR;
+yy112:
        YYCURSOR = YYCTXMARKER;
        { return HASH5; }
-yy112:
+yy113:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy110;
-       default:        goto yy111;
+       case '\n':      goto yy111;
+       default:        goto yy112;
        }
-yy113:
+yy114:
        ++YYCURSOR;
        yych = *YYCURSOR;
-yy114:
+yy115:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy113;
-       case '\n':      goto yy116;
-       case '\r':      goto yy118;
-       default:        goto yy115;
+       case ' ':
+       case 0xA0:      goto yy114;
+       case '\n':      goto yy117;
+       case '\r':      goto yy119;
+       default:        goto yy116;
        }
-yy115:
-       { return HASH6; }
 yy116:
-       ++YYCURSOR;
+       { return HASH6; }
 yy117:
+       ++YYCURSOR;
+yy118:
        YYCURSOR = YYCTXMARKER;
        { return HASH6; }
-yy118:
+yy119:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy116;
-       default:        goto yy117;
+       case '\n':      goto yy117;
+       default:        goto yy118;
        }
-yy119:
+yy120:
        ++YYCURSOR;
        YYCURSOR = YYCTXMARKER;
        { return NON_INDENT_SPACE; }
-yy121:
+yy122:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
        case '\n':      goto yy125;
        case '\r':      goto yy127;
-       case ' ':       goto yy124;
-       default:        goto yy122;
+       case ' ':
+       case 0xA0:      goto yy124;
+       default:        goto yy123;
        }
-yy122:
-       { return NON_INDENT_SPACE; }
 yy123:
-       yych = *++YYCURSOR;
-       switch (yych) {
-       case '\n':      goto yy53;
-       default:        goto yy54;
-       }
+       { return NON_INDENT_SPACE; }
 yy124:
        yych = *++YYCURSOR;
        switch (yych) {
        case '\n':      goto yy125;
        case '\r':      goto yy127;
-       case ' ':       goto yy128;
-       default:        goto yy122;
+       case ' ':
+       case 0xA0:      goto yy128;
+       default:        goto yy123;
        }
 yy125:
        ++YYCURSOR;
@@ -711,7 +731,8 @@ yy128:
        switch (yych) {
        case '\n':      goto yy125;
        case '\r':      goto yy127;
-       case ' ':       goto yy130;
+       case ' ':
+       case 0xA0:      goto yy130;
        default:        goto yy129;
        }
 yy129:
@@ -722,351 +743,358 @@ yy130:
        switch (yych) {
        case '\n':      goto yy125;
        case '\r':      goto yy127;
-       case ' ':       goto yy130;
-       default:        goto yy70;
+       case ' ':
+       case 0xA0:      goto yy130;
+       default:        goto yy71;
        }
 yy132:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '\n':      goto yy54;
+       default:        goto yy55;
+       }
+yy133:
        ++YYCURSOR;
        { return MATH_DOLLAR_DOUBLE; }
-yy134:
-       ++YYCURSOR;
 yy135:
-       { return TEXT_LINEBREAK; }
+       ++YYCURSOR;
 yy136:
+       { return TEXT_LINEBREAK; }
+yy137:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '\n':      goto yy134;
-       default:        goto yy135;
+       case '\n':      goto yy135;
+       default:        goto yy136;
        }
-yy137:
+yy138:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '(':       goto yy203;
-       case ')':       goto yy205;
-       case '[':       goto yy207;
-       case ']':       goto yy209;
-       default:        goto yy138;
+       case '(':       goto yy204;
+       case ')':       goto yy206;
+       case '[':       goto yy208;
+       case ']':       goto yy210;
+       default:        goto yy139;
        }
-yy138:
-       { return ESCAPED_CHARACTER; }
 yy139:
+       { return ESCAPED_CHARACTER; }
+yy140:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy141:
+yy142:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy143:
+yy144:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy145:
+yy146:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy147:
+yy148:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy149:
+yy150:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy151:
+yy152:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy153:
+yy154:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy155:
+yy156:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy157:
+yy158:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy159:
+yy160:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy161:
+yy162:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy163:
+yy164:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy165:
+yy166:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy167:
+yy168:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy169:
+yy170:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy171:
+yy172:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy173:
+yy174:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy175:
+yy176:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy177:
+yy178:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy179:
+yy180:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy181:
+yy182:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy183:
+yy184:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy185:
+yy186:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy187:
+yy188:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy189:
+yy190:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy191:
+yy192:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy193:
+yy194:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy195:
+yy196:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy197:
+yy198:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy199:
+yy200:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy201:
+yy202:
        ++YYCURSOR;
        { return ESCAPED_CHARACTER; }
-yy203:
+yy204:
        ++YYCURSOR;
        { return MATH_PAREN_OPEN; }
-yy205:
+yy206:
        ++YYCURSOR;
        { return MATH_PAREN_CLOSE; }
-yy207:
+yy208:
        ++YYCURSOR;
        { return MATH_BRACKET_OPEN; }
-yy209:
+yy210:
        ++YYCURSOR;
        { return MATH_BRACKET_CLOSE; }
-yy211:
+yy212:
        yych = *++YYCURSOR;
        switch (yych) {
        case 'M':
-       case 'm':       goto yy212;
-       default:        goto yy70;
+       case 'm':       goto yy213;
+       default:        goto yy71;
        }
-yy212:
+yy213:
        yych = *++YYCURSOR;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy213;
-       default:        goto yy70;
+       case 'p':       goto yy214;
+       default:        goto yy71;
        }
-yy213:
+yy214:
        yych = *++YYCURSOR;
        switch (yych) {
-       case ';':       goto yy214;
-       default:        goto yy70;
+       case ';':       goto yy215;
+       default:        goto yy71;
        }
-yy214:
+yy215:
        ++YYCURSOR;
        { return AMPERSAND_LONG; }
-yy216:
+yy217:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy220;
-       default:        goto yy70;
+       case '.':       goto yy221;
+       default:        goto yy71;
        }
-yy217:
+yy218:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy218;
-       default:        goto yy70;
+       case '.':       goto yy219;
+       default:        goto yy71;
        }
-yy218:
+yy219:
        ++YYCURSOR;
        { return ELLIPSIS; }
-yy220:
+yy221:
        yych = *++YYCURSOR;
        switch (yych) {
-       case ' ':       goto yy221;
-       default:        goto yy70;
+       case ' ':       goto yy222;
+       default:        goto yy71;
        }
-yy221:
+yy222:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '.':       goto yy222;
-       default:        goto yy70;
+       case '.':       goto yy223;
+       default:        goto yy71;
        }
-yy222:
+yy223:
        ++YYCURSOR;
        { return ELLIPSIS; }
-yy224:
+yy225:
        ++YYCURSOR;
        { return QUOTE_RIGHT_ALT; }
-yy226:
+yy227:
        ++YYCURSOR;
        { return BRACE_DOUBLE_RIGHT; }
-yy228:
+yy229:
        ++YYCURSOR;
        { return BRACKET_IMAGE_LEFT; }
-yy230:
+yy231:
        ++YYCURSOR;
        { return BRACKET_VARIABLE_LEFT; }
-yy232:
+yy233:
        ++YYCURSOR;
        { return BRACKET_GLOSSARY_LEFT; }
-yy234:
+yy235:
        ++YYCURSOR;
        { return BRACKET_FOOTNOTE_LEFT; }
-yy236:
+yy237:
        ++YYCURSOR;
        { return BRACKET_CITATION_LEFT; }
-yy238:
+yy239:
        ++YYCURSOR;
        { return BRACKET_ABBREVIATION_LEFT; }
-yy240:
+yy241:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy241;
-       default:        goto yy70;
+       case '}':       goto yy242;
+       default:        goto yy71;
        }
-yy241:
+yy242:
        ++YYCURSOR;
        { return CRITIC_HI_CLOSE; }
-yy243:
+yy244:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy246;
-       default:        goto yy70;
+       case '}':       goto yy247;
+       default:        goto yy71;
        }
-yy244:
+yy245:
        ++YYCURSOR;
        { return CRITIC_SUB_DIV; }
-yy246:
+yy247:
        ++YYCURSOR;
        { return CRITIC_SUB_CLOSE; }
-yy248:
+yy249:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy249;
-       default:        goto yy70;
+       case '}':       goto yy250;
+       default:        goto yy71;
        }
-yy249:
+yy250:
        ++YYCURSOR;
        { return CRITIC_COM_CLOSE; }
-yy251:
+yy252:
        ++YYCURSOR;
        switch ((yych = *YYCURSOR)) {
-       case '-':       goto yy255;
-       case '}':       goto yy253;
-       default:        goto yy252;
+       case '-':       goto yy256;
+       case '}':       goto yy254;
+       default:        goto yy253;
        }
-yy252:
-       { return DASH_N; }
 yy253:
+       { return DASH_N; }
+yy254:
        ++YYCURSOR;
        { return CRITIC_DEL_CLOSE; }
-yy255:
+yy256:
        ++YYCURSOR;
        { return DASH_M; }
-yy257:
+yy258:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy258;
-       default:        goto yy70;
+       case '}':       goto yy259;
+       default:        goto yy71;
        }
-yy258:
+yy259:
        ++YYCURSOR;
        { return CRITIC_ADD_CLOSE; }
-yy260:
+yy261:
        yyaccept = 9;
        yych = *(YYMARKER = ++YYCURSOR);
        switch (yych) {
-       case 'T':       goto yy277;
-       default:        goto yy261;
+       case 'T':       goto yy278;
+       default:        goto yy262;
        }
-yy261:
-       { return BRACE_DOUBLE_LEFT; }
 yy262:
-       yych = *++YYCURSOR;
-       switch (yych) {
-       case '=':       goto yy275;
-       default:        goto yy70;
-       }
+       { return BRACE_DOUBLE_LEFT; }
 yy263:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '~':       goto yy273;
-       default:        goto yy70;
+       case '=':       goto yy276;
+       default:        goto yy71;
        }
 yy264:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '>':       goto yy271;
-       default:        goto yy70;
+       case '~':       goto yy274;
+       default:        goto yy71;
        }
 yy265:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '-':       goto yy269;
-       default:        goto yy70;
+       case '>':       goto yy272;
+       default:        goto yy71;
        }
 yy266:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '+':       goto yy267;
-       default:        goto yy70;
+       case '-':       goto yy270;
+       default:        goto yy71;
        }
 yy267:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '+':       goto yy268;
+       default:        goto yy71;
+       }
+yy268:
        ++YYCURSOR;
        { return CRITIC_ADD_OPEN; }
-yy269:
+yy270:
        ++YYCURSOR;
        { return CRITIC_DEL_OPEN; }
-yy271:
+yy272:
        ++YYCURSOR;
        { return CRITIC_COM_OPEN; }
-yy273:
+yy274:
        ++YYCURSOR;
        { return CRITIC_SUB_OPEN; }
-yy275:
+yy276:
        ++YYCURSOR;
        { return CRITIC_HI_OPEN; }
-yy277:
-       yych = *++YYCURSOR;
-       switch (yych) {
-       case 'O':       goto yy278;
-       default:        goto yy70;
-       }
 yy278:
        yych = *++YYCURSOR;
        switch (yych) {
-       case 'C':       goto yy279;
-       default:        goto yy70;
+       case 'O':       goto yy279;
+       default:        goto yy71;
        }
 yy279:
        yych = *++YYCURSOR;
        switch (yych) {
-       case '}':       goto yy280;
-       default:        goto yy70;
+       case 'C':       goto yy280;
+       default:        goto yy71;
        }
 yy280:
        yych = *++YYCURSOR;
        switch (yych) {
        case '}':       goto yy281;
-       default:        goto yy70;
+       default:        goto yy71;
        }
 yy281:
+       yych = *++YYCURSOR;
+       switch (yych) {
+       case '}':       goto yy282;
+       default:        goto yy71;
+       }
+yy282:
        ++YYCURSOR;
        { return TOC; }
 }
index cba2e0a9239c8eb6864e19dd9d92254d863bcb5b..998169f9c9dd824c66f2294068f30f47c95ae8b4 100644 (file)
 
 // Basic scanner struct
 
-#define YYCTYPE                char
+#define YYCTYPE                unsigned char
 #define YYCURSOR       s->cur
 #define YYMARKER       s->ptr
 #define YYCTXMARKER    s->ctx
 
-
 int scan(Scanner * s, const char * stop) {
 
        scan:
@@ -80,15 +79,16 @@ int scan(Scanner * s, const char * stop) {
                re2c:yyfill:enable = 0;
 
                NL                                                              = "\r\n" | '\n' | '\r';
-               SP                                                              = [ \t]+;
+               WS                                                              = [ \t\240];    // Whitespace from char_lookup.c
+               SP                                                              = WS+;
 
-               SPNL                                                    = [ \t]* NL;
+               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
 
@@ -226,7 +226,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 fe334c8a6cfde00e34a72ad87ddcc80237dfdeee..2d46d5adb952a9c40a83eb181ec0b7594d9cc72f 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Tue Mar 14 20:07:08 2017 */
+/* Generated by re2c 0.14.3 on Wed Mar 15 00:32:22 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -66,12 +66,13 @@ size_t scan_spnl(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
 
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy3;
+       case ' ':
+       case 0xA0:      goto yy3;
        case '\n':      goto yy4;
        case '\r':      goto yy6;
        default:        goto yy7;
@@ -87,7 +88,8 @@ yy4:
 yy5:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy4;
+       case ' ':
+       case 0xA0:      goto yy4;
        default:        goto yy2;
        }
 yy6:
@@ -111,7 +113,8 @@ yy10:
 yy11:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy10;
+       case ' ':
+       case 0xA0:      goto yy10;
        case '\n':      goto yy4;
        case '\r':      goto yy9;
        default:        goto yy2;
@@ -126,7 +129,7 @@ size_t scan_key(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy14;
@@ -281,7 +284,7 @@ size_t scan_value(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy22;
@@ -488,11 +491,12 @@ size_t scan_attr(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *(marker = c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy39;
+       case ' ':
+       case 0xA0:      goto yy39;
        case '\n':      goto yy40;
        case '\r':      goto yy43;
        case ':':
@@ -613,7 +617,8 @@ yy39:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy60;
+       case 'z':
+       case 0xA0:      goto yy60;
        default:        goto yy38;
        }
 yy40:
@@ -622,7 +627,8 @@ yy40:
 yy41:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy40;
+       case ' ':
+       case 0xA0:      goto yy40;
        case ':':
        case 'A':
        case 'B':
@@ -687,7 +693,8 @@ yy43:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy40;
+       case ' ':
+       case 0xA0:      goto yy40;
        case ':':
        case 'A':
        case 'B':
@@ -897,7 +904,8 @@ yy48:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy48;
+       case ' ':
+       case 0xA0:      goto yy48;
        case '"':       goto yy50;
        case '\'':      goto yy52;
        case '.':
@@ -1071,7 +1079,8 @@ yy59:
 yy60:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy59;
+       case ' ':
+       case 0xA0:      goto yy59;
        case '\n':      goto yy40;
        case '\r':      goto yy58;
        case ':':
@@ -1141,12 +1150,13 @@ size_t scan_attributes(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        unsigned int yyaccept = 0;
        yych = *(marker = c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy64;
+       case ' ':
+       case 0xA0:      goto yy64;
        case '\n':      goto yy65;
        case '\r':      goto yy68;
        case ':':
@@ -1268,7 +1278,8 @@ yy64:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy83;
+       case 'z':
+       case 0xA0:      goto yy83;
        default:        goto yy63;
        }
 yy65:
@@ -1276,7 +1287,8 @@ yy65:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy65;
+       case ' ':
+       case 0xA0:      goto yy65;
        case ':':
        case 'A':
        case 'B':
@@ -1346,7 +1358,8 @@ yy68:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy65;
+       case ' ':
+       case 0xA0:      goto yy65;
        case ':':
        case 'A':
        case 'B':
@@ -1557,7 +1570,8 @@ yy73:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy73;
+       case ' ':
+       case 0xA0:      goto yy73;
        case '"':       goto yy75;
        case '\'':      goto yy77;
        case '.':
@@ -1651,7 +1665,8 @@ yy79:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy82;
+       case ' ':
+       case 0xA0:      goto yy82;
        case '\n':      goto yy65;
        case '\r':      goto yy84;
        case '.':
@@ -1729,7 +1744,8 @@ yy82:
 yy83:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy82;
+       case ' ':
+       case 0xA0:      goto yy82;
        case '\n':      goto yy65;
        case '\r':      goto yy84;
        case ':':
@@ -1794,7 +1810,8 @@ yy84:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy65;
+       case ' ':
+       case 0xA0:      goto yy65;
        case ':':
        case 'A':
        case 'B':
@@ -1857,7 +1874,8 @@ yy85:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy82;
+       case ' ':
+       case 0xA0:      goto yy82;
        case '\n':      goto yy65;
        case '\r':      goto yy84;
        case '-':
@@ -1935,7 +1953,8 @@ yy87:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy82;
+       case ' ':
+       case 0xA0:      goto yy82;
        case '\n':      goto yy65;
        case '\r':      goto yy84;
        case ':':
@@ -2005,7 +2024,7 @@ size_t scan_email(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy90;
@@ -2249,7 +2268,8 @@ yy94:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy95;
+       case '>':
+       case 0xA0:      goto yy95;
        default:        goto yy98;
        }
 yy95:
@@ -2343,7 +2363,8 @@ yy98:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy100;
+       case '>':
+       case 0xA0:      goto yy100;
        default:        goto yy98;
        }
 yy100:
@@ -2399,7 +2420,7 @@ size_t scan_url(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy109;
@@ -2810,7 +2831,8 @@ yy118:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy115;
+       case '>':
+       case 0xA0:      goto yy115;
        default:        goto yy121;
        }
 yy119:
@@ -2901,7 +2923,8 @@ yy121:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy123;
+       case '>':
+       case 0xA0:      goto yy123;
        default:        goto yy121;
        }
 yy123:
@@ -2920,7 +2943,8 @@ yy125:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy115;
+       case '>':
+       case 0xA0:      goto yy115;
        default:        goto yy126;
        }
 yy126:
@@ -2932,7 +2956,8 @@ yy126:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy128;
+       case '>':
+       case 0xA0:      goto yy128;
        default:        goto yy126;
        }
 yy128:
@@ -3253,7 +3278,8 @@ yy136:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy115;
+       case '>':
+       case 0xA0:      goto yy115;
        case '!':
        case '$':
        case '%':
@@ -3337,7 +3363,8 @@ yy137:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy128;
+       case '>':
+       case 0xA0:      goto yy128;
        case '!':
        case '$':
        case '%':
@@ -3420,7 +3447,8 @@ yy139:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy128;
+       case '>':
+       case 0xA0:      goto yy128;
        default:        goto yy140;
        }
 yy140:
@@ -3432,7 +3460,8 @@ yy140:
        case '\n':
        case '\r':
        case ' ':
-       case '>':       goto yy123;
+       case '>':
+       case 0xA0:      goto yy123;
        default:        goto yy140;
        }
 }
@@ -3446,11 +3475,12 @@ size_t scan_ref_abbreviation(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy144;
-       case ' ':       goto yy145;
+       case ' ':
+       case 0xA0:      goto yy145;
        case '[':       goto yy146;
        default:        goto yy147;
        }
@@ -3459,7 +3489,8 @@ yy144:
 yy145:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy158;
+       case ' ':
+       case 0xA0:      goto yy158;
        case '[':       goto yy159;
        default:        goto yy144;
        }
@@ -3525,7 +3556,8 @@ yy157:
 yy158:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy160;
+       case ' ':
+       case 0xA0:      goto yy160;
        case '[':       goto yy159;
        default:        goto yy150;
        }
@@ -3552,11 +3584,12 @@ size_t scan_ref_citation(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy163;
-       case ' ':       goto yy164;
+       case ' ':
+       case 0xA0:      goto yy164;
        case '[':       goto yy165;
        default:        goto yy166;
        }
@@ -3565,7 +3598,8 @@ yy163:
 yy164:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy177;
+       case ' ':
+       case 0xA0:      goto yy177;
        case '[':       goto yy178;
        default:        goto yy163;
        }
@@ -3631,7 +3665,8 @@ yy176:
 yy177:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy179;
+       case ' ':
+       case 0xA0:      goto yy179;
        case '[':       goto yy178;
        default:        goto yy169;
        }
@@ -3658,11 +3693,12 @@ size_t scan_ref_foot(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy182;
-       case ' ':       goto yy183;
+       case ' ':
+       case 0xA0:      goto yy183;
        case '[':       goto yy184;
        default:        goto yy185;
        }
@@ -3671,7 +3707,8 @@ yy182:
 yy183:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy196;
+       case ' ':
+       case 0xA0:      goto yy196;
        case '[':       goto yy197;
        default:        goto yy182;
        }
@@ -3737,7 +3774,8 @@ yy195:
 yy196:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy198;
+       case ' ':
+       case 0xA0:      goto yy198;
        case '[':       goto yy197;
        default:        goto yy188;
        }
@@ -3764,11 +3802,12 @@ size_t scan_ref_glossary(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy201;
-       case ' ':       goto yy202;
+       case ' ':
+       case 0xA0:      goto yy202;
        case '[':       goto yy203;
        default:        goto yy204;
        }
@@ -3777,7 +3816,8 @@ yy201:
 yy202:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy215;
+       case ' ':
+       case 0xA0:      goto yy215;
        case '[':       goto yy216;
        default:        goto yy201;
        }
@@ -3843,7 +3883,8 @@ yy214:
 yy215:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy217;
+       case ' ':
+       case 0xA0:      goto yy217;
        case '[':       goto yy216;
        default:        goto yy207;
        }
@@ -3870,12 +3911,13 @@ size_t scan_ref_link_no_attributes(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        unsigned int yyaccept = 0;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy220;
-       case ' ':       goto yy221;
+       case ' ':
+       case 0xA0:      goto yy221;
        case '[':       goto yy222;
        default:        goto yy223;
        }
@@ -3885,7 +3927,8 @@ yy221:
        yyaccept = 0;
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy359;
+       case ' ':
+       case 0xA0:      goto yy359;
        case '[':       goto yy227;
        default:        goto yy220;
        }
@@ -3944,7 +3987,8 @@ yy230:
        switch (yych) {
        case 0x00:      goto yy226;
        case '\t':
-       case ' ':       goto yy230;
+       case ' ':
+       case 0xA0:      goto yy230;
        case '\n':      goto yy232;
        case '\r':      goto yy234;
        case '<':       goto yy235;
@@ -3958,7 +4002,8 @@ yy232:
        case '\n':
        case '\r':      goto yy226;
        case '\t':
-       case ' ':       goto yy232;
+       case ' ':
+       case 0xA0:      goto yy232;
        case '<':       goto yy235;
        default:        goto yy237;
        }
@@ -3969,7 +4014,8 @@ yy234:
        case '\r':      goto yy226;
        case '\t':
        case '\n':
-       case ' ':       goto yy232;
+       case ' ':
+       case 0xA0:      goto yy232;
        case '<':       goto yy235;
        default:        goto yy237;
        }
@@ -3979,7 +4025,8 @@ yy235:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy239;
+       case ' ':
+       case 0xA0:      goto yy239;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy332;
@@ -3994,7 +4041,8 @@ yy237:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy239;
+       case ' ':
+       case 0xA0:      goto yy239;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy245;
@@ -4008,7 +4056,8 @@ yy239:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy239;
+       case ' ':
+       case 0xA0:      goto yy239;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy261;
@@ -4045,7 +4094,8 @@ yy245:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy330;
+       case ' ':
+       case 0xA0:      goto yy330;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy318;
@@ -4059,7 +4109,8 @@ yy247:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy328;
+       case ' ':
+       case 0xA0:      goto yy328;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy308;
@@ -4073,7 +4124,8 @@ yy249:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy251;
+       case ' ':
+       case 0xA0:      goto yy251;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy253;
@@ -4087,7 +4139,8 @@ yy251:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy251;
+       case ' ':
+       case 0xA0:      goto yy251;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy298;
@@ -4101,7 +4154,8 @@ yy253:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy320;
+       case ' ':
+       case 0xA0:      goto yy320;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy322;
@@ -4115,7 +4169,8 @@ yy255:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy272;
+       case ' ':
+       case 0xA0:      goto yy272;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy274;
@@ -4129,7 +4184,8 @@ yy257:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy258;
+       case ' ':
+       case 0xA0:      goto yy258;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy245;
@@ -4143,7 +4199,8 @@ yy258:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy258;
+       case ' ':
+       case 0xA0:      goto yy258;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy261;
@@ -4198,7 +4255,8 @@ yy267:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy267;
+       case ' ':
+       case 0xA0:      goto yy267;
        case '\r':      goto yy269;
        default:        goto yy226;
        }
@@ -4214,7 +4272,8 @@ yy270:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy316;
+       case ' ':
+       case 0xA0:      goto yy316;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy308;
@@ -4228,7 +4287,8 @@ yy272:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy272;
+       case ' ':
+       case 0xA0:      goto yy272;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy284;
@@ -4242,7 +4302,8 @@ yy274:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy302;
+       case ' ':
+       case 0xA0:      goto yy302;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4256,7 +4317,8 @@ yy276:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy278;
+       case ' ':
+       case 0xA0:      goto yy278;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy274;
@@ -4270,7 +4332,8 @@ yy278:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy278;
+       case ' ':
+       case 0xA0:      goto yy278;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy284;
@@ -4285,7 +4348,8 @@ yy280:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy280;
+       case ' ':
+       case 0xA0:      goto yy280;
        case '\r':      goto yy269;
        case '\'':      goto yy267;
        default:        goto yy263;
@@ -4320,7 +4384,8 @@ yy286:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy286;
+       case ' ':
+       case 0xA0:      goto yy286;
        case '\r':      goto yy269;
        case '\'':      goto yy288;
        case ')':       goto yy280;
@@ -4333,7 +4398,8 @@ yy288:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy288;
+       case ' ':
+       case 0xA0:      goto yy288;
        case '\r':      goto yy269;
        case ')':       goto yy267;
        default:        goto yy265;
@@ -4345,7 +4411,8 @@ yy290:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy290;
+       case ' ':
+       case 0xA0:      goto yy290;
        case '\r':      goto yy269;
        case '"':       goto yy288;
        case ')':       goto yy294;
@@ -4358,7 +4425,8 @@ yy292:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy292;
+       case ' ':
+       case 0xA0:      goto yy292;
        case '\r':      goto yy269;
        case '"':       goto yy280;
        case '\'':      goto yy294;
@@ -4371,7 +4439,8 @@ yy294:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy294;
+       case ' ':
+       case 0xA0:      goto yy294;
        case '\r':      goto yy269;
        case '"':       goto yy267;
        default:        goto yy261;
@@ -4404,7 +4473,8 @@ yy300:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy314;
+       case ' ':
+       case 0xA0:      goto yy314;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4418,7 +4488,8 @@ yy302:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy302;
+       case ' ':
+       case 0xA0:      goto yy302;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4432,7 +4503,8 @@ yy304:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy306;
+       case ' ':
+       case 0xA0:      goto yy306;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4446,7 +4518,8 @@ yy306:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy306;
+       case ' ':
+       case 0xA0:      goto yy306;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4460,7 +4533,8 @@ yy308:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy310;
+       case ' ':
+       case 0xA0:      goto yy310;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4474,7 +4548,8 @@ yy310:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy310;
+       case ' ':
+       case 0xA0:      goto yy310;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4489,7 +4564,8 @@ yy312:
        case 0x00:
        case '\n':      goto yy241;
        case '\t':
-       case ' ':       goto yy312;
+       case ' ':
+       case 0xA0:      goto yy312;
        case '\r':      goto yy269;
        case '"':       goto yy286;
        case '\'':      goto yy290;
@@ -4502,7 +4578,8 @@ yy314:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy314;
+       case ' ':
+       case 0xA0:      goto yy314;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4516,7 +4593,8 @@ yy316:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy316;
+       case ' ':
+       case 0xA0:      goto yy316;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy296;
@@ -4530,7 +4608,8 @@ yy318:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy326;
+       case ' ':
+       case 0xA0:      goto yy326;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy318;
@@ -4544,7 +4623,8 @@ yy320:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy320;
+       case ' ':
+       case 0xA0:      goto yy320;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy290;
@@ -4558,7 +4638,8 @@ yy322:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy324;
+       case ' ':
+       case 0xA0:      goto yy324;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy322;
@@ -4572,7 +4653,8 @@ yy324:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy324;
+       case ' ':
+       case 0xA0:      goto yy324;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy290;
@@ -4586,7 +4668,8 @@ yy326:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy326;
+       case ' ':
+       case 0xA0:      goto yy326;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy294;
@@ -4600,7 +4683,8 @@ yy328:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy328;
+       case ' ':
+       case 0xA0:      goto yy328;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy296;
@@ -4614,7 +4698,8 @@ yy330:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy330;
+       case ' ':
+       case 0xA0:      goto yy330;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy294;
@@ -4628,7 +4713,8 @@ yy332:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy330;
+       case ' ':
+       case 0xA0:      goto yy330;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy355;
@@ -4643,7 +4729,8 @@ yy334:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy328;
+       case ' ':
+       case 0xA0:      goto yy328;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy353;
@@ -4658,7 +4745,8 @@ yy336:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy251;
+       case ' ':
+       case 0xA0:      goto yy251;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy338;
@@ -4673,7 +4761,8 @@ yy338:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy320;
+       case ' ':
+       case 0xA0:      goto yy320;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy357;
@@ -4688,7 +4777,8 @@ yy340:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy272;
+       case ' ':
+       case 0xA0:      goto yy272;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':       goto yy345;
@@ -4703,7 +4793,8 @@ yy342:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy258;
+       case ' ':
+       case 0xA0:      goto yy258;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy332;
@@ -4718,7 +4809,8 @@ yy343:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy316;
+       case ' ':
+       case 0xA0:      goto yy316;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy353;
@@ -4733,7 +4825,8 @@ yy345:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy302;
+       case ' ':
+       case 0xA0:      goto yy302;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4748,7 +4841,8 @@ yy347:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy278;
+       case ' ':
+       case 0xA0:      goto yy278;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy345;
@@ -4763,7 +4857,8 @@ yy349:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy314;
+       case ' ':
+       case 0xA0:      goto yy314;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4778,7 +4873,8 @@ yy351:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy306;
+       case ' ':
+       case 0xA0:      goto yy306;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':
@@ -4793,7 +4889,8 @@ yy353:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy310;
+       case ' ':
+       case 0xA0:      goto yy310;
        case '\n':      goto yy243;
        case '\r':      goto yy244;
        case '"':
@@ -4808,7 +4905,8 @@ yy355:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy326;
+       case ' ':
+       case 0xA0:      goto yy326;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy355;
@@ -4823,7 +4921,8 @@ yy357:
        switch (yych) {
        case 0x00:      goto yy241;
        case '\t':
-       case ' ':       goto yy324;
+       case ' ':
+       case 0xA0:      goto yy324;
        case '\n':      goto yy243;
        case '\r':      goto yy260;
        case '"':       goto yy357;
@@ -4835,7 +4934,8 @@ yy357:
 yy359:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy360;
+       case ' ':
+       case 0xA0:      goto yy360;
        case '[':       goto yy227;
        default:        goto yy226;
        }
@@ -4856,11 +4956,12 @@ size_t scan_ref_link(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy363;
-       case ' ':       goto yy364;
+       case ' ':
+       case 0xA0:      goto yy364;
        case '[':       goto yy365;
        default:        goto yy366;
        }
@@ -4869,7 +4970,8 @@ yy363:
 yy364:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy377;
+       case ' ':
+       case 0xA0:      goto yy377;
        case '[':       goto yy370;
        default:        goto yy363;
        }
@@ -4939,7 +5041,8 @@ yy376:
 yy377:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy378;
+       case ' ':
+       case 0xA0:      goto yy378;
        case '[':       goto yy370;
        default:        goto yy369;
        }
@@ -4960,7 +5063,7 @@ size_t scan_html(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy381;
@@ -5102,7 +5205,8 @@ yy387:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy391;
+       case ' ':
+       case 0xA0:      goto yy391;
        case '\n':      goto yy393;
        case '\r':      goto yy395;
        case '-':
@@ -5179,7 +5283,8 @@ yy389:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy391;
+       case ' ':
+       case 0xA0:      goto yy391;
        case '\n':      goto yy393;
        case '\r':      goto yy395;
        case '-':
@@ -5258,7 +5363,8 @@ yy391:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy391;
+       case ' ':
+       case 0xA0:      goto yy391;
        case '\n':      goto yy393;
        case '\r':      goto yy395;
        case '/':       goto yy400;
@@ -5324,7 +5430,8 @@ yy393:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy393;
+       case ' ':
+       case 0xA0:      goto yy393;
        case ':':
        case 'A':
        case 'B':
@@ -5387,7 +5494,8 @@ yy395:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy393;
+       case ' ':
+       case 0xA0:      goto yy393;
        case ':':
        case 'A':
        case 'B':
@@ -5531,7 +5639,8 @@ yy401:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy401;
+       case ' ':
+       case 0xA0:      goto yy401;
        case '"':       goto yy403;
        case '\'':      goto yy405;
        case '.':
@@ -5624,7 +5733,8 @@ yy407:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy391;
+       case ' ':
+       case 0xA0:      goto yy391;
        case '\n':      goto yy393;
        case '\r':      goto yy395;
        case '.':
@@ -5701,7 +5811,8 @@ yy409:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy391;
+       case ' ':
+       case 0xA0:      goto yy391;
        case '\n':      goto yy393;
        case '\r':      goto yy395;
        case '-':
@@ -5780,7 +5891,8 @@ yy411:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy413;
+       case ' ':
+       case 0xA0:      goto yy413;
        case '-':
        case '0':
        case '1':
@@ -5852,7 +5964,8 @@ yy413:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy413;
+       case ' ':
+       case 0xA0:      goto yy413;
        case '>':       goto yy398;
        default:        goto yy385;
        }
@@ -5907,7 +6020,7 @@ size_t scan_html_comment(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy424;
@@ -5988,7 +6101,7 @@ size_t scan_html_block(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy440;
@@ -6260,7 +6373,8 @@ yy464:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy465;
+       case ' ':
+       case 0xA0:      goto yy465;
        case '\n':      goto yy467;
        case '\r':      goto yy469;
        case '/':       goto yy472;
@@ -6327,7 +6441,8 @@ yy465:
 yy466:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy465;
+       case ' ':
+       case 0xA0:      goto yy465;
        case '\n':      goto yy467;
        case '\r':      goto yy469;
        case ':':
@@ -6391,7 +6506,8 @@ yy467:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy467;
+       case ' ':
+       case 0xA0:      goto yy467;
        case ':':
        case 'A':
        case 'B':
@@ -6454,7 +6570,8 @@ yy469:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy467;
+       case ' ':
+       case 0xA0:      goto yy467;
        case ':':
        case 'A':
        case 'B':
@@ -6599,7 +6716,8 @@ yy475:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy475;
+       case ' ':
+       case 0xA0:      goto yy475;
        case '"':       goto yy477;
        case '\'':      goto yy479;
        case '.':
@@ -6692,7 +6810,8 @@ yy481:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy465;
+       case ' ':
+       case 0xA0:      goto yy465;
        case '\n':      goto yy467;
        case '\r':      goto yy469;
        case '.':
@@ -6769,7 +6888,8 @@ yy483:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy465;
+       case ' ':
+       case 0xA0:      goto yy465;
        case '\n':      goto yy467;
        case '\r':      goto yy469;
        case '-':
@@ -7635,7 +7755,7 @@ size_t scan_html_line(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy595;
@@ -7777,7 +7897,8 @@ yy601:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy605;
+       case ' ':
+       case 0xA0:      goto yy605;
        case '\n':      goto yy607;
        case '\r':      goto yy609;
        case '-':
@@ -7854,7 +7975,8 @@ yy603:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy605;
+       case ' ':
+       case 0xA0:      goto yy605;
        case '\n':      goto yy607;
        case '\r':      goto yy609;
        case '-':
@@ -7933,7 +8055,8 @@ yy605:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy605;
+       case ' ':
+       case 0xA0:      goto yy605;
        case '\n':      goto yy607;
        case '\r':      goto yy609;
        case '/':       goto yy614;
@@ -7999,7 +8122,8 @@ yy607:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy607;
+       case ' ':
+       case 0xA0:      goto yy607;
        case ':':
        case 'A':
        case 'B':
@@ -8062,7 +8186,8 @@ yy609:
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy607;
+       case ' ':
+       case 0xA0:      goto yy607;
        case ':':
        case 'A':
        case 'B':
@@ -8197,7 +8322,8 @@ yy612:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy612;
+       case ' ':
+       case 0xA0:      goto yy612;
        case '\n':      goto yy615;
        case '\r':      goto yy617;
        default:        goto yy599;
@@ -8223,7 +8349,8 @@ yy618:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy618;
+       case ' ':
+       case 0xA0:      goto yy618;
        case '"':       goto yy620;
        case '\'':      goto yy622;
        case '.':
@@ -8316,7 +8443,8 @@ yy624:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy605;
+       case ' ':
+       case 0xA0:      goto yy605;
        case '\n':      goto yy607;
        case '\r':      goto yy609;
        case '.':
@@ -8393,7 +8521,8 @@ yy626:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy605;
+       case ' ':
+       case 0xA0:      goto yy605;
        case '\n':      goto yy607;
        case '\r':      goto yy609;
        case '-':
@@ -8472,7 +8601,8 @@ yy628:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy630;
+       case ' ':
+       case 0xA0:      goto yy630;
        case '-':
        case '0':
        case '1':
@@ -8544,7 +8674,8 @@ yy630:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy630;
+       case ' ':
+       case 0xA0:      goto yy630;
        case '>':       goto yy612;
        default:        goto yy599;
        }
@@ -8599,11 +8730,12 @@ size_t scan_fence_start(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy641;
-       case ' ':       goto yy642;
+       case ' ':
+       case 0xA0:      goto yy642;
        case '`':
        case '~':       goto yy643;
        default:        goto yy644;
@@ -8613,7 +8745,8 @@ yy641:
 yy642:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy656;
+       case ' ':
+       case 0xA0:      goto yy656;
        case '`':
        case '~':       goto yy657;
        default:        goto yy641;
@@ -8686,7 +8819,8 @@ yy655:
 yy656:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy658;
+       case ' ':
+       case 0xA0:      goto yy658;
        case '`':
        case '~':       goto yy657;
        default:        goto yy646;
@@ -8716,11 +8850,12 @@ size_t scan_fence_end(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy661;
-       case ' ':       goto yy662;
+       case ' ':
+       case 0xA0:      goto yy662;
        case '`':
        case '~':       goto yy663;
        default:        goto yy664;
@@ -8730,7 +8865,8 @@ yy661:
 yy662:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy674;
+       case ' ':
+       case 0xA0:      goto yy674;
        case '`':
        case '~':       goto yy675;
        default:        goto yy661;
@@ -8762,7 +8898,8 @@ yy667:
        case 0x00:
        case '\n':      goto yy671;
        case '\t':
-       case ' ':       goto yy669;
+       case ' ':
+       case 0xA0:      goto yy669;
        case '\r':      goto yy673;
        case '`':
        case '~':       goto yy667;
@@ -8775,7 +8912,8 @@ yy669:
        case 0x00:
        case '\n':      goto yy671;
        case '\t':
-       case ' ':       goto yy669;
+       case ' ':
+       case 0xA0:      goto yy669;
        case '\r':      goto yy673;
        default:        goto yy666;
        }
@@ -8792,7 +8930,8 @@ yy673:
 yy674:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy676;
+       case ' ':
+       case 0xA0:      goto yy676;
        case '`':
        case '~':       goto yy675;
        default:        goto yy666;
@@ -8822,7 +8961,7 @@ size_t scan_meta_line(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy679;
@@ -8962,7 +9101,8 @@ yy680:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy683;
+       case 'z':
+       case 0xA0:      goto yy683;
        default:        goto yy679;
        }
 yy681:
@@ -9039,7 +9179,8 @@ yy683:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy682;
+       case 'z':
+       case 0xA0:      goto yy682;
        case ':':       goto yy685;
        default:        goto yy684;
        }
@@ -9083,7 +9224,7 @@ size_t scan_meta_key(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy693;
@@ -9233,7 +9374,8 @@ yy698:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy697;
+       case 'z':
+       case 0xA0:      goto yy697;
        default:        goto yy695;
        }
 }
@@ -9247,11 +9389,12 @@ size_t scan_definition(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy701;
-       case ' ':       goto yy702;
+       case ' ':
+       case 0xA0:      goto yy702;
        case ':':       goto yy703;
        default:        goto yy704;
        }
@@ -9260,7 +9403,8 @@ yy701:
 yy702:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy709;
+       case ' ':
+       case 0xA0:      goto yy709;
        case ':':       goto yy711;
        default:        goto yy701;
        }
@@ -9284,7 +9428,8 @@ yy706:
        case '\n':
        case '\r':      goto yy707;
        case '\t':
-       case ' ':       goto yy705;
+       case ' ':
+       case 0xA0:      goto yy705;
        default:        goto yy708;
        }
 yy707:
@@ -9295,7 +9440,8 @@ yy708:
 yy709:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy712;
+       case ' ':
+       case 0xA0:      goto yy712;
        case ':':       goto yy711;
        default:        goto yy710;
        }
@@ -9327,7 +9473,7 @@ size_t scan_table_separator(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\t':
@@ -9335,7 +9481,8 @@ size_t scan_table_separator(const char * c) {
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy717;
+       case '=':
+       case 0xA0:      goto yy717;
        case '\n':      goto yy715;
        case '|':       goto yy716;
        default:        goto yy718;
@@ -9354,7 +9501,8 @@ yy716:
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy728;
+       case '|':
+       case 0xA0:      goto yy728;
        default:        goto yy715;
        }
 yy717:
@@ -9365,7 +9513,8 @@ yy717:
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy722;
+       case '=':
+       case 0xA0:      goto yy722;
        case '|':       goto yy719;
        default:        goto yy715;
        }
@@ -9384,7 +9533,8 @@ yy719:
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy719;
+       case '|':
+       case 0xA0:      goto yy719;
        case '\r':      goto yy726;
        default:        goto yy721;
        }
@@ -9400,7 +9550,8 @@ yy722:
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy722;
+       case '=':
+       case 0xA0:      goto yy722;
        case '|':       goto yy719;
        default:        goto yy721;
        }
@@ -9427,7 +9578,8 @@ yy728:
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy727;
+       case '|':
+       case 0xA0:      goto yy727;
        case '\r':      goto yy726;
        default:        goto yy721;
        }
@@ -9441,11 +9593,12 @@ size_t scan_alignment_string(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy732;
+       case ' ':
+       case 0xA0:      goto yy732;
        case '\n':      goto yy731;
        case '-':
        case '=':       goto yy734;
@@ -9458,7 +9611,8 @@ yy732:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy774;
+       case ' ':
+       case 0xA0:      goto yy774;
        case '-':
        case '=':       goto yy738;
        case ':':       goto yy773;
@@ -9509,7 +9663,8 @@ yy741:
        case '\n':
        case '|':       goto yy742;
        case '\t':
-       case ' ':       goto yy740;
+       case ' ':
+       case 0xA0:      goto yy740;
        case '\r':      goto yy744;
        default:        goto yy737;
        }
@@ -9531,7 +9686,8 @@ yy745:
        case '\n':
        case '|':       goto yy747;
        case '\t':
-       case ' ':       goto yy745;
+       case ' ':
+       case 0xA0:      goto yy745;
        case '\r':      goto yy749;
        default:        goto yy737;
        }
@@ -9553,7 +9709,8 @@ yy750:
        case '\n':
        case '|':       goto yy754;
        case '\t':
-       case ' ':       goto yy752;
+       case ' ':
+       case 0xA0:      goto yy752;
        case '\r':      goto yy756;
        case '+':       goto yy758;
        case '-':
@@ -9569,7 +9726,8 @@ yy752:
        case '\n':
        case '|':       goto yy754;
        case '\t':
-       case ' ':       goto yy752;
+       case ' ':
+       case 0xA0:      goto yy752;
        case '\r':      goto yy756;
        default:        goto yy737;
        }
@@ -9597,7 +9755,8 @@ yy758:
        case '\n':
        case '|':       goto yy760;
        case '\t':
-       case ' ':       goto yy758;
+       case ' ':
+       case 0xA0:      goto yy758;
        case '\r':      goto yy762;
        default:        goto yy737;
        }
@@ -9619,7 +9778,8 @@ yy763:
        case '\n':
        case '|':       goto yy770;
        case '\t':
-       case ' ':       goto yy763;
+       case ' ':
+       case 0xA0:      goto yy763;
        case '\r':      goto yy772;
        default:        goto yy737;
        }
@@ -9632,7 +9792,8 @@ yy766:
        case '\n':
        case '|':       goto yy767;
        case '\t':
-       case ' ':       goto yy765;
+       case ' ':
+       case 0xA0:      goto yy765;
        case '\r':      goto yy769;
        default:        goto yy737;
        }
@@ -9668,7 +9829,8 @@ yy774:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy774;
+       case ' ':
+       case 0xA0:      goto yy774;
        case '-':
        case '=':       goto yy738;
        case ':':       goto yy773;
@@ -9684,13 +9846,14 @@ size_t scan_destination(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\t':
        case '\r':
-       case ' ':       goto yy782;
+       case ' ':
+       case 0xA0:      goto yy782;
        case '\n':      goto yy778;
        case '<':       goto yy779;
        default:        goto yy781;
@@ -9718,7 +9881,8 @@ yy784:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy780;
+       case ' ':
+       case 0xA0:      goto yy780;
        default:        goto yy783;
        }
 yy785:
@@ -9730,7 +9894,8 @@ yy786:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy780;
+       case ' ':
+       case 0xA0:      goto yy780;
        case '>':       goto yy783;
        default:        goto yy785;
        }
@@ -9745,7 +9910,7 @@ size_t scan_title(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy789;
@@ -9832,11 +9997,12 @@ size_t scan_setext(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy805;
-       case ' ':       goto yy806;
+       case ' ':
+       case 0xA0:      goto yy806;
        case '-':       goto yy808;
        case '=':       goto yy807;
        default:        goto yy809;
@@ -9846,7 +10012,8 @@ yy805:
 yy806:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy821;
+       case ' ':
+       case 0xA0:      goto yy821;
        case '-':       goto yy822;
        case '=':       goto yy823;
        default:        goto yy805;
@@ -9912,7 +10079,8 @@ yy820:
 yy821:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy824;
+       case ' ':
+       case 0xA0:      goto yy824;
        case '-':       goto yy822;
        case '=':       goto yy823;
        default:        goto yy812;
@@ -9946,7 +10114,7 @@ size_t scan_atx(const char * c) {
 
 
 {
-       char yych;
+       unsigned char yych;
        yych = *c;
        switch (yych) {
        case '\n':      goto yy827;
@@ -9959,7 +10127,8 @@ yy828:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy830;
+       case ' ':
+       case 0xA0:      goto yy830;
        case '#':       goto yy833;
        default:        goto yy827;
        }
@@ -9974,7 +10143,8 @@ yy830:
        case '\n':
        case '\r':      goto yy832;
        case '\t':
-       case ' ':       goto yy830;
+       case ' ':
+       case 0xA0:      goto yy830;
        default:        goto yy835;
        }
 yy832:
@@ -9985,7 +10155,8 @@ yy833:
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy830;
+       case ' ':
+       case 0xA0:      goto yy830;
        case '#':       goto yy833;
        default:        goto yy832;
        }
index e891d56d139dbe4729fa8efde9fdb8d1cb0d71cd..5b7e0d58f38fefd2830c54c2ad8681b11a84e841 100644 (file)
 
 /*!re2c
 
-       re2c:define:YYCTYPE = "char";
+       re2c:define:YYCTYPE = "unsigned char";
        re2c:define:YYCURSOR = c;
        re2c:define:YYMARKER = marker;
        re2c:define:YYCTXMARKER = marker;
        re2c:yyfill:enable = 0;
 
        nl                      = ( '\n' | '\r' '\n'?);
-       sp                      = [ \t]*;
+       sp                      = [ \t\240]*;
        spnl            = sp (nl sp)?;
-       non_indent      = ' '{0,3};
+       non_indent      = [ \240]{0,3};
        nl_eof          = nl | '\x00';
 
-       email           = 'mailto:'? [-A-Za-z0-9+_./!%~$]+ '@' [^ \t\n\r\x00>]+;
+       email           = 'mailto:'? [-A-Za-z0-9+_./!%~$]+ '@' [^ \240\t\n\r\x00>]+;
 
-       url                     = [A-Za-z\-]+ '://' [^ \t\n\r\x00>]+;
+       url                     = [A-Za-z\-]+ '://' [^ \240\t\n\r\x00>]+;
 
        name            = [A-Za-z_:] [A-Za-z0-9_.:-]*;
        quoted_d        = '"' [^"\n\r\x00]* '"';
@@ -99,7 +99,7 @@
 
        ref_link        = non_indent '[' label ']' ':' finish_line;
 
-       destination     = ('<' [^ \t\n\r\x00>]* '>') | [^ \t\n\r\x00]+;
+       destination     = ('<' [^ \240\t\n\r\x00>]* '>') | [^ \240\t\n\r\x00]+;
 
        ref_link_no_attributes  = non_indent '[' label ']' ':' spnl destination sp (nl_eof | (nl? (title) sp) nl_eof);
 
 
        fence_end       = non_indent [`~]{3,} sp nl_eof;
 
-       meta_key        = [A-Za-z0-9] [A-Za-z0-9_ \t\-\.]*;
+       meta_key        = [A-Za-z0-9] [A-Za-z0-9_ \240\t\-\.]*;
 
        meta_value      = [^\n\r\x00]+;
 
 
        definition      = non_indent ':' sp [^\n\r\x00];
 
-       table_separator = (('|' [:\-= \t|+]*) | ([:\-= \t+]+ '|' [:\-= \t|+]*)) nl_eof;
+       table_separator = (('|' [:\-= \240\t|+]*) | ([:\-= \240\t+]+ '|' [:\-= \240\t|+]*)) nl_eof;
 
        align           = [\-=]+;
        align_left      = sp ':' align sp ('|' | nl_eof);
 
        setext_2        = non_indent '-'{2,} nl_eof;
 
-       atx                     = '#'+ [ \t]+ [^ \t\n\r\x00];
+       atx                     = '#'+ [ \240\t]+ [^ \240\t\n\r\x00];
 */