From: Fletcher T. Penney Date: Wed, 15 Mar 2017 04:33:18 +0000 (-0400) Subject: FIXED: Include non-breaking space (ASCII 160) in re2c patterns X-Git-Tag: 6.0.0-rc1^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=340352cb372bc94b1339aaa2f8d1aba10e2acc5e;p=multimarkdown FIXED: Include non-breaking space (ASCII 160) in re2c patterns --- diff --git a/Sources/libMultiMarkdown/lexer.c b/Sources/libMultiMarkdown/lexer.c index d2c41cc..19520d1 100644 --- a/Sources/libMultiMarkdown/lexer.c +++ b/Sources/libMultiMarkdown/lexer.c @@ -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. @@ -61,12 +61,11 @@ // 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; } } diff --git a/Sources/libMultiMarkdown/lexer.re b/Sources/libMultiMarkdown/lexer.re index cba2e0a..998169f 100644 --- a/Sources/libMultiMarkdown/lexer.re +++ b/Sources/libMultiMarkdown/lexer.re @@ -60,12 +60,11 @@ // 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; } diff --git a/Sources/libMultiMarkdown/scanners.c b/Sources/libMultiMarkdown/scanners.c index fe334c8..2d46d5a 100644 --- a/Sources/libMultiMarkdown/scanners.c +++ b/Sources/libMultiMarkdown/scanners.c @@ -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; } diff --git a/Sources/libMultiMarkdown/scanners.re b/Sources/libMultiMarkdown/scanners.re index e891d56..5b7e0d5 100644 --- a/Sources/libMultiMarkdown/scanners.re +++ b/Sources/libMultiMarkdown/scanners.re @@ -59,21 +59,21 @@ /*!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); @@ -136,7 +136,7 @@ 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]+; @@ -144,7 +144,7 @@ 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); @@ -158,7 +158,7 @@ setext_2 = non_indent '-'{2,} nl_eof; - atx = '#'+ [ \t]+ [^ \t\n\r\x00]; + atx = '#'+ [ \240\t]+ [^ \240\t\n\r\x00]; */