]> granicus.if.org Git - multimarkdown/commitdiff
ADDED: HTML Comments appear as raw LaTeX
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Mon, 13 Feb 2017 14:51:50 +0000 (09:51 -0500)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Mon, 13 Feb 2017 14:51:50 +0000 (09:51 -0500)
src/latex.c
src/scanners.c
src/scanners.h
src/scanners.re
tests/MMD6Tests/Citations.tex
tests/MMD6Tests/HTML Blocks.html
tests/MMD6Tests/HTML Blocks.htmlc
tests/MMD6Tests/HTML Blocks.tex [new file with mode: 0644]
tests/MMD6Tests/HTML Blocks.text
tests/MMD6Tests/HTML Inline.tex [new file with mode: 0644]

index a271e44f8876aeb02039635c2ae923e8481846a4..111e9ed9ac5e1a41b66a3a3dbd0917e3e0db59f4 100644 (file)
@@ -714,7 +714,11 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat
                                mmd_print_string_latex(out, temp_char);
                                print("}");
                        } else if (scan_html(&source[t->start])) {
-                               print_token(t);
+                               // We ignore HTML blocks
+                               if (scan_html_comment(&source[t->start])) {
+                                       // But allow HTML comments as raw LaTeX
+                                       d_string_append_c_array(out, &source[t->start + 4], t->len - 4 - 3);
+                               }
                        } else {
                                mmd_export_token_tree_latex(out, source, t->child, scratch);
                        }
index 9284b6c5d540c2fd2c336d13896430c98f95f277..38de8202d16f49ff875a3357322467a2fbbd867a 100644 (file)
@@ -1,4 +1,4 @@
-/* Generated by re2c 0.14.3 on Sun Feb 12 13:52:25 2017 */
+/* Generated by re2c 0.14.3 on Mon Feb 13 09:48:30 2017 */
 /**
 
        MultiMarkdown 6 -- Lightweight markup processor to produce HTML, LaTeX, and more.
@@ -5666,7 +5666,7 @@ yy378:
 }
 
 
-size_t scan_html_block(const char * c) {
+size_t scan_html_comment(const char * c) {
        const char * marker = NULL;
        const char * start = c;
 
@@ -5684,121 +5684,202 @@ yy382:
 yy383:
        yych = *(marker = ++c);
        switch (yych) {
-       case '/':       goto yy385;
+       case '!':       goto yy385;
+       default:        goto yy382;
+       }
+yy384:
+       yych = *++c;
+       goto yy382;
+yy385:
+       yych = *++c;
+       switch (yych) {
+       case '-':       goto yy387;
+       default:        goto yy386;
+       }
+yy386:
+       c = marker;
+       goto yy382;
+yy387:
+       yych = *++c;
+       switch (yych) {
+       case '-':       goto yy388;
+       default:        goto yy386;
+       }
+yy388:
+       yych = *++c;
+       switch (yych) {
+       case '-':       goto yy386;
+       default:        goto yy390;
+       }
+yy389:
+       ++c;
+       yych = *c;
+yy390:
+       switch (yych) {
+       case 0x00:
+       case '>':       goto yy386;
+       case '-':       goto yy391;
+       default:        goto yy389;
+       }
+yy391:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x00:
+       case '>':       goto yy386;
+       case '-':       goto yy392;
+       default:        goto yy389;
+       }
+yy392:
+       ++c;
+       yych = *c;
+       switch (yych) {
+       case 0x00:      goto yy386;
+       case '-':       goto yy392;
+       case '>':       goto yy394;
+       default:        goto yy389;
+       }
+yy394:
+       ++c;
+       { return (size_t)( c - start ); }
+}
+       
+}
+
+
+size_t scan_html_block(const char * c) {
+       const char * marker = NULL;
+       const char * start = c;
+
+
+{
+       char yych;
+       yych = *c;
+       switch (yych) {
+       case '\n':      goto yy398;
+       case '<':       goto yy399;
+       default:        goto yy400;
+       }
+yy398:
+       { return 0; }
+yy399:
+       yych = *(marker = ++c);
+       switch (yych) {
+       case '/':       goto yy401;
        case 'A':
-       case 'a':       goto yy388;
+       case 'a':       goto yy404;
        case 'B':
-       case 'b':       goto yy389;
+       case 'b':       goto yy405;
        case 'C':
-       case 'c':       goto yy390;
+       case 'c':       goto yy406;
        case 'D':
-       case 'd':       goto yy391;
+       case 'd':       goto yy407;
        case 'F':
-       case 'f':       goto yy392;
+       case 'f':       goto yy408;
        case 'H':
-       case 'h':       goto yy393;
+       case 'h':       goto yy409;
        case 'I':
-       case 'i':       goto yy394;
+       case 'i':       goto yy410;
        case 'L':
-       case 'l':       goto yy395;
+       case 'l':       goto yy411;
        case 'M':
-       case 'm':       goto yy396;
+       case 'm':       goto yy412;
        case 'N':
-       case 'n':       goto yy397;
+       case 'n':       goto yy413;
        case 'O':
-       case 'o':       goto yy398;
+       case 'o':       goto yy414;
        case 'P':
-       case 'p':       goto yy387;
+       case 'p':       goto yy403;
        case 'S':
-       case 's':       goto yy399;
+       case 's':       goto yy415;
        case 'T':
-       case 't':       goto yy400;
+       case 't':       goto yy416;
        case 'U':
-       case 'u':       goto yy401;
+       case 'u':       goto yy417;
        case 'V':
-       case 'v':       goto yy402;
-       default:        goto yy382;
+       case 'v':       goto yy418;
+       default:        goto yy398;
        }
-yy384:
+yy400:
        yych = *++c;
-       goto yy382;
-yy385:
+       goto yy398;
+yy401:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy388;
+       case 'a':       goto yy404;
        case 'B':
-       case 'b':       goto yy389;
+       case 'b':       goto yy405;
        case 'C':
-       case 'c':       goto yy390;
+       case 'c':       goto yy406;
        case 'D':
-       case 'd':       goto yy391;
+       case 'd':       goto yy407;
        case 'F':
-       case 'f':       goto yy392;
+       case 'f':       goto yy408;
        case 'H':
-       case 'h':       goto yy393;
+       case 'h':       goto yy409;
        case 'I':
-       case 'i':       goto yy394;
+       case 'i':       goto yy410;
        case 'L':
-       case 'l':       goto yy395;
+       case 'l':       goto yy411;
        case 'M':
-       case 'm':       goto yy396;
+       case 'm':       goto yy412;
        case 'N':
-       case 'n':       goto yy397;
+       case 'n':       goto yy413;
        case 'O':
-       case 'o':       goto yy398;
+       case 'o':       goto yy414;
        case 'P':
-       case 'p':       goto yy387;
+       case 'p':       goto yy403;
        case 'S':
-       case 's':       goto yy399;
+       case 's':       goto yy415;
        case 'T':
-       case 't':       goto yy400;
+       case 't':       goto yy416;
        case 'U':
-       case 'u':       goto yy401;
+       case 'u':       goto yy417;
        case 'V':
-       case 'v':       goto yy402;
-       default:        goto yy386;
+       case 'v':       goto yy418;
+       default:        goto yy402;
        }
-yy386:
+yy402:
        c = marker;
-       goto yy382;
-yy387:
+       goto yy398;
+yy403:
        yych = *++c;
        switch (yych) {
-       case '/':       goto yy414;
-       case '>':       goto yy415;
+       case '/':       goto yy430;
+       case '>':       goto yy431;
        case 'R':
-       case 'r':       goto yy534;
-       default:        goto yy408;
+       case 'r':       goto yy550;
+       default:        goto yy424;
        }
-yy388:
+yy404:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy523;
+       case 'd':       goto yy539;
        case 'R':
-       case 'r':       goto yy522;
+       case 'r':       goto yy538;
        case 'S':
-       case 's':       goto yy521;
-       default:        goto yy386;
+       case 's':       goto yy537;
+       default:        goto yy402;
        }
-yy389:
+yy405:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy513;
-       default:        goto yy386;
+       case 'l':       goto yy529;
+       default:        goto yy402;
        }
-yy390:
+yy406:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy506;
+       case 'a':       goto yy522;
        case 'E':
-       case 'e':       goto yy505;
-       default:        goto yy386;
+       case 'e':       goto yy521;
+       default:        goto yy402;
        }
-yy391:
+yy407:
        yych = *++c;
        switch (yych) {
        case 'D':
@@ -5806,23 +5887,23 @@ yy391:
        case 'T':
        case 'd':
        case 'l':
-       case 't':       goto yy406;
+       case 't':       goto yy422;
        case 'I':
-       case 'i':       goto yy504;
-       default:        goto yy386;
+       case 'i':       goto yy520;
+       default:        goto yy402;
        }
-yy392:
+yy408:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy480;
+       case 'i':       goto yy496;
        case 'O':
-       case 'o':       goto yy479;
+       case 'o':       goto yy495;
        case 'R':
-       case 'r':       goto yy478;
-       default:        goto yy386;
+       case 'r':       goto yy494;
+       default:        goto yy402;
        }
-yy393:
+yy409:
        yych = *++c;
        switch (yych) {
        case '1':
@@ -5832,122 +5913,122 @@ yy393:
        case '5':
        case '6':
        case 'R':
-       case 'r':       goto yy406;
+       case 'r':       goto yy422;
        case 'E':
-       case 'e':       goto yy471;
+       case 'e':       goto yy487;
        case 'G':
-       case 'g':       goto yy470;
-       default:        goto yy386;
+       case 'g':       goto yy486;
+       default:        goto yy402;
        }
-yy394:
+yy410:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy465;
-       default:        goto yy386;
+       case 's':       goto yy481;
+       default:        goto yy402;
        }
-yy395:
+yy411:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy406;
-       default:        goto yy386;
+       case 'i':       goto yy422;
+       default:        goto yy402;
        }
-yy396:
+yy412:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy462;
+       case 'a':       goto yy478;
        case 'E':
-       case 'e':       goto yy461;
-       default:        goto yy386;
+       case 'e':       goto yy477;
+       default:        goto yy402;
        }
-yy397:
+yy413:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy450;
+       case 'a':       goto yy466;
        case 'O':
-       case 'o':       goto yy449;
-       default:        goto yy386;
+       case 'o':       goto yy465;
+       default:        goto yy402;
        }
-yy398:
+yy414:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy406;
+       case 'l':       goto yy422;
        case 'U':
-       case 'u':       goto yy445;
-       default:        goto yy386;
+       case 'u':       goto yy461;
+       default:        goto yy402;
        }
-yy399:
+yy415:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy440;
-       default:        goto yy386;
+       case 'e':       goto yy456;
+       default:        goto yy402;
        }
-yy400:
+yy416:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy430;
+       case 'a':       goto yy446;
        case 'B':
-       case 'b':       goto yy429;
+       case 'b':       goto yy445;
        case 'D':
        case 'R':
        case 'd':
-       case 'r':       goto yy406;
+       case 'r':       goto yy422;
        case 'F':
-       case 'f':       goto yy428;
+       case 'f':       goto yy444;
        case 'H':
-       case 'h':       goto yy427;
-       default:        goto yy386;
+       case 'h':       goto yy443;
+       default:        goto yy402;
        }
-yy401:
+yy417:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy406;
-       default:        goto yy386;
+       case 'l':       goto yy422;
+       default:        goto yy402;
        }
-yy402:
+yy418:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy403;
-       default:        goto yy386;
+       case 'i':       goto yy419;
+       default:        goto yy402;
        }
-yy403:
+yy419:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy404;
-       default:        goto yy386;
+       case 'd':       goto yy420;
+       default:        goto yy402;
        }
-yy404:
+yy420:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy405;
-       default:        goto yy386;
+       case 'e':       goto yy421;
+       default:        goto yy402;
        }
-yy405:
+yy421:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy406;
-       default:        goto yy386;
+       case 'o':       goto yy422;
+       default:        goto yy402;
        }
-yy406:
+yy422:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy407;
-       case '\n':      goto yy409;
-       case '\r':      goto yy411;
-       case '/':       goto yy414;
+       case ' ':       goto yy423;
+       case '\n':      goto yy425;
+       case '\r':      goto yy427;
+       case '/':       goto yy430;
        case ':':
        case 'A':
        case 'B':
@@ -6001,19 +6082,19 @@ yy406:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy412;
-       case '>':       goto yy415;
-       default:        goto yy386;
+       case 'z':       goto yy428;
+       case '>':       goto yy431;
+       default:        goto yy402;
        }
-yy407:
+yy423:
        ++c;
        yych = *c;
-yy408:
+yy424:
        switch (yych) {
        case '\t':
-       case ' ':       goto yy407;
-       case '\n':      goto yy409;
-       case '\r':      goto yy411;
+       case ' ':       goto yy423;
+       case '\n':      goto yy425;
+       case '\r':      goto yy427;
        case ':':
        case 'A':
        case 'B':
@@ -6067,15 +6148,15 @@ yy408:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy412;
-       default:        goto yy386;
+       case 'z':       goto yy428;
+       default:        goto yy402;
        }
-yy409:
+yy425:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy409;
+       case ' ':       goto yy425;
        case ':':
        case 'A':
        case 'B':
@@ -6129,16 +6210,16 @@ yy409:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy412;
-       default:        goto yy386;
+       case 'z':       goto yy428;
+       default:        goto yy402;
        }
-yy411:
+yy427:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy409;
+       case ' ':       goto yy425;
        case ':':
        case 'A':
        case 'B':
@@ -6192,13 +6273,13 @@ yy411:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy412;
-       default:        goto yy386;
+       case 'z':       goto yy428;
+       default:        goto yy402;
        }
-yy412:
+yy428:
        ++c;
        yych = *c;
-yy413:
+yy429:
        switch (yych) {
        case '-':
        case '.':
@@ -6265,27 +6346,27 @@ yy413:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy412;
-       case '=':       goto yy417;
-       default:        goto yy386;
+       case 'z':       goto yy428;
+       case '=':       goto yy433;
+       default:        goto yy402;
        }
-yy414:
+yy430:
        yych = *++c;
        switch (yych) {
-       case '>':       goto yy415;
-       default:        goto yy386;
+       case '>':       goto yy431;
+       default:        goto yy402;
        }
-yy415:
+yy431:
        ++c;
        { return (size_t)( c - start ); }
-yy417:
+yy433:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy417;
-       case '"':       goto yy419;
-       case '\'':      goto yy421;
+       case ' ':       goto yy433;
+       case '"':       goto yy435;
+       case '\'':      goto yy437;
        case '.':
        case '0':
        case '1':
@@ -6348,37 +6429,37 @@ yy417:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy423;
-       default:        goto yy386;
+       case 'z':       goto yy439;
+       default:        goto yy402;
        }
-yy419:
+yy435:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy386;
-       case '"':       goto yy406;
-       default:        goto yy419;
+       case '\r':      goto yy402;
+       case '"':       goto yy422;
+       default:        goto yy435;
        }
-yy421:
+yy437:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy386;
-       case '\'':      goto yy406;
-       default:        goto yy421;
+       case '\r':      goto yy402;
+       case '\'':      goto yy422;
+       default:        goto yy437;
        }
-yy423:
+yy439:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy407;
-       case '\n':      goto yy409;
-       case '\r':      goto yy411;
+       case ' ':       goto yy423;
+       case '\n':      goto yy425;
+       case '\r':      goto yy427;
        case '.':
        case '0':
        case '1':
@@ -6389,11 +6470,11 @@ yy423:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy423;
-       case '/':       goto yy414;
+       case '9':       goto yy439;
+       case '/':       goto yy430;
        case ':':
-       case '_':       goto yy412;
-       case '>':       goto yy415;
+       case '_':       goto yy428;
+       case '>':       goto yy431;
        case 'A':
        case 'B':
        case 'C':
@@ -6445,20 +6526,20 @@ yy423:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy425;
-       default:        goto yy386;
+       case 'z':       goto yy441;
+       default:        goto yy402;
        }
-yy425:
+yy441:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy407;
-       case '\n':      goto yy409;
-       case '\r':      goto yy411;
+       case ' ':       goto yy423;
+       case '\n':      goto yy425;
+       case '\r':      goto yy427;
        case '-':
        case ':':
-       case '_':       goto yy412;
+       case '_':       goto yy428;
        case '.':
        case '0':
        case '1':
@@ -6521,99 +6602,99 @@ yy425:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy425;
-       case '/':       goto yy414;
-       case '=':       goto yy417;
-       case '>':       goto yy415;
-       default:        goto yy386;
+       case 'z':       goto yy441;
+       case '/':       goto yy430;
+       case '=':       goto yy433;
+       case '>':       goto yy431;
+       default:        goto yy402;
        }
-yy427:
+yy443:
        yych = *++c;
        switch (yych) {
-       case '/':       goto yy414;
-       case '>':       goto yy415;
+       case '/':       goto yy430;
+       case '>':       goto yy431;
        case 'E':
-       case 'e':       goto yy437;
-       default:        goto yy408;
+       case 'e':       goto yy453;
+       default:        goto yy424;
        }
-yy428:
+yy444:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy435;
-       default:        goto yy386;
+       case 'o':       goto yy451;
+       default:        goto yy402;
        }
-yy429:
+yy445:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy433;
-       default:        goto yy386;
+       case 'o':       goto yy449;
+       default:        goto yy402;
        }
-yy430:
+yy446:
        yych = *++c;
        switch (yych) {
        case 'B':
-       case 'b':       goto yy431;
-       default:        goto yy386;
+       case 'b':       goto yy447;
+       default:        goto yy402;
        }
-yy431:
+yy447:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy432;
-       default:        goto yy386;
+       case 'l':       goto yy448;
+       default:        goto yy402;
        }
-yy432:
+yy448:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
-       default:        goto yy386;
+       case 'e':       goto yy422;
+       default:        goto yy402;
        }
-yy433:
+yy449:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy434;
-       default:        goto yy386;
+       case 'd':       goto yy450;
+       default:        goto yy402;
        }
-yy434:
+yy450:
        yych = *++c;
        switch (yych) {
        case 'Y':
-       case 'y':       goto yy406;
-       default:        goto yy386;
+       case 'y':       goto yy422;
+       default:        goto yy402;
        }
-yy435:
+yy451:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy436;
-       default:        goto yy386;
+       case 'o':       goto yy452;
+       default:        goto yy402;
        }
-yy436:
+yy452:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy406;
-       default:        goto yy386;
+       case 't':       goto yy422;
+       default:        goto yy402;
        }
-yy437:
+yy453:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy438;
-       default:        goto yy413;
+       case 'a':       goto yy454;
+       default:        goto yy429;
        }
-yy438:
+yy454:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy439;
-       default:        goto yy413;
+       case 'd':       goto yy455;
+       default:        goto yy429;
        }
-yy439:
+yy455:
        yych = *++c;
        switch (yych) {
        case '-':
@@ -6627,686 +6708,686 @@ yy439:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy412;
-       case '/':       goto yy414;
-       case '=':       goto yy417;
-       case '>':       goto yy415;
-       default:        goto yy408;
+       case '9':       goto yy428;
+       case '/':       goto yy430;
+       case '=':       goto yy433;
+       case '>':       goto yy431;
+       default:        goto yy424;
        }
-yy440:
+yy456:
        yych = *++c;
        switch (yych) {
        case 'C':
-       case 'c':       goto yy441;
-       default:        goto yy386;
+       case 'c':       goto yy457;
+       default:        goto yy402;
        }
-yy441:
+yy457:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy442;
-       default:        goto yy386;
+       case 't':       goto yy458;
+       default:        goto yy402;
        }
-yy442:
+yy458:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy443;
-       default:        goto yy386;
+       case 'i':       goto yy459;
+       default:        goto yy402;
        }
-yy443:
+yy459:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy444;
-       default:        goto yy386;
+       case 'o':       goto yy460;
+       default:        goto yy402;
        }
-yy444:
+yy460:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy406;
-       default:        goto yy386;
+       case 'n':       goto yy422;
+       default:        goto yy402;
        }
-yy445:
+yy461:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy446;
-       default:        goto yy386;
+       case 't':       goto yy462;
+       default:        goto yy402;
        }
-yy446:
+yy462:
        yych = *++c;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy447;
-       default:        goto yy386;
+       case 'p':       goto yy463;
+       default:        goto yy402;
        }
-yy447:
+yy463:
        yych = *++c;
        switch (yych) {
        case 'U':
-       case 'u':       goto yy448;
-       default:        goto yy386;
+       case 'u':       goto yy464;
+       default:        goto yy402;
        }
-yy448:
+yy464:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy406;
-       default:        goto yy386;
+       case 't':       goto yy422;
+       default:        goto yy402;
        }
-yy449:
+yy465:
        yych = *++c;
        switch (yych) {
        case 'F':
-       case 'f':       goto yy451;
+       case 'f':       goto yy467;
        case 'S':
-       case 's':       goto yy452;
-       default:        goto yy386;
+       case 's':       goto yy468;
+       default:        goto yy402;
        }
-yy450:
+yy466:
        yych = *++c;
        switch (yych) {
        case 'V':
-       case 'v':       goto yy406;
-       default:        goto yy386;
+       case 'v':       goto yy422;
+       default:        goto yy402;
        }
-yy451:
+yy467:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy457;
-       default:        goto yy386;
+       case 'r':       goto yy473;
+       default:        goto yy402;
        }
-yy452:
+yy468:
        yych = *++c;
        switch (yych) {
        case 'C':
-       case 'c':       goto yy453;
-       default:        goto yy386;
+       case 'c':       goto yy469;
+       default:        goto yy402;
        }
-yy453:
+yy469:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy454;
-       default:        goto yy386;
+       case 'r':       goto yy470;
+       default:        goto yy402;
        }
-yy454:
+yy470:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy455;
-       default:        goto yy386;
+       case 'i':       goto yy471;
+       default:        goto yy402;
        }
-yy455:
+yy471:
        yych = *++c;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy456;
-       default:        goto yy386;
+       case 'p':       goto yy472;
+       default:        goto yy402;
        }
-yy456:
+yy472:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy406;
-       default:        goto yy386;
+       case 't':       goto yy422;
+       default:        goto yy402;
        }
-yy457:
+yy473:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy458;
-       default:        goto yy386;
+       case 'a':       goto yy474;
+       default:        goto yy402;
        }
-yy458:
+yy474:
        yych = *++c;
        switch (yych) {
        case 'M':
-       case 'm':       goto yy459;
-       default:        goto yy386;
+       case 'm':       goto yy475;
+       default:        goto yy402;
        }
-yy459:
+yy475:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy460;
-       default:        goto yy386;
+       case 'e':       goto yy476;
+       default:        goto yy402;
        }
-yy460:
+yy476:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy406;
-       default:        goto yy386;
+       case 's':       goto yy422;
+       default:        goto yy402;
        }
-yy461:
+yy477:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy464;
-       default:        goto yy386;
+       case 'n':       goto yy480;
+       default:        goto yy402;
        }
-yy462:
+yy478:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy463;
-       default:        goto yy386;
+       case 'i':       goto yy479;
+       default:        goto yy402;
        }
-yy463:
+yy479:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy406;
-       default:        goto yy386;
+       case 'n':       goto yy422;
+       default:        goto yy402;
        }
-yy464:
+yy480:
        yych = *++c;
        switch (yych) {
        case 'U':
-       case 'u':       goto yy406;
-       default:        goto yy386;
+       case 'u':       goto yy422;
+       default:        goto yy402;
        }
-yy465:
+yy481:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy466;
-       default:        goto yy386;
+       case 'i':       goto yy482;
+       default:        goto yy402;
        }
-yy466:
+yy482:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy467;
-       default:        goto yy386;
+       case 'n':       goto yy483;
+       default:        goto yy402;
        }
-yy467:
+yy483:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy468;
-       default:        goto yy386;
+       case 'd':       goto yy484;
+       default:        goto yy402;
        }
-yy468:
+yy484:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy469;
-       default:        goto yy386;
+       case 'e':       goto yy485;
+       default:        goto yy402;
        }
-yy469:
+yy485:
        yych = *++c;
        switch (yych) {
        case 'X':
-       case 'x':       goto yy406;
-       default:        goto yy386;
+       case 'x':       goto yy422;
+       default:        goto yy402;
        }
-yy470:
+yy486:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy475;
-       default:        goto yy386;
+       case 'r':       goto yy491;
+       default:        goto yy402;
        }
-yy471:
+yy487:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy472;
-       default:        goto yy386;
+       case 'a':       goto yy488;
+       default:        goto yy402;
        }
-yy472:
+yy488:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy473;
-       default:        goto yy386;
+       case 'd':       goto yy489;
+       default:        goto yy402;
        }
-yy473:
+yy489:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy474;
-       default:        goto yy386;
+       case 'e':       goto yy490;
+       default:        goto yy402;
        }
-yy474:
+yy490:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy406;
-       default:        goto yy386;
+       case 'r':       goto yy422;
+       default:        goto yy402;
        }
-yy475:
+yy491:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy476;
-       default:        goto yy386;
+       case 'o':       goto yy492;
+       default:        goto yy402;
        }
-yy476:
+yy492:
        yych = *++c;
        switch (yych) {
        case 'U':
-       case 'u':       goto yy477;
-       default:        goto yy386;
+       case 'u':       goto yy493;
+       default:        goto yy402;
        }
-yy477:
+yy493:
        yych = *++c;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy406;
-       default:        goto yy386;
+       case 'p':       goto yy422;
+       default:        goto yy402;
        }
-yy478:
+yy494:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy499;
-       default:        goto yy386;
+       case 'a':       goto yy515;
+       default:        goto yy402;
        }
-yy479:
+yy495:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy495;
+       case 'o':       goto yy511;
        case 'R':
-       case 'r':       goto yy496;
-       default:        goto yy386;
+       case 'r':       goto yy512;
+       default:        goto yy402;
        }
-yy480:
+yy496:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy481;
+       case 'e':       goto yy497;
        case 'G':
-       case 'g':       goto yy482;
-       default:        goto yy386;
+       case 'g':       goto yy498;
+       default:        goto yy402;
        }
-yy481:
+yy497:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy491;
-       default:        goto yy386;
+       case 'l':       goto yy507;
+       default:        goto yy402;
        }
-yy482:
+yy498:
        yych = *++c;
        switch (yych) {
        case 'C':
-       case 'c':       goto yy484;
+       case 'c':       goto yy500;
        case 'U':
-       case 'u':       goto yy483;
-       default:        goto yy386;
+       case 'u':       goto yy499;
+       default:        goto yy402;
        }
-yy483:
+yy499:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy490;
-       default:        goto yy386;
+       case 'r':       goto yy506;
+       default:        goto yy402;
        }
-yy484:
+yy500:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy485;
-       default:        goto yy386;
+       case 'a':       goto yy501;
+       default:        goto yy402;
        }
-yy485:
+yy501:
        yych = *++c;
        switch (yych) {
        case 'P':
-       case 'p':       goto yy486;
-       default:        goto yy386;
+       case 'p':       goto yy502;
+       default:        goto yy402;
        }
-yy486:
+yy502:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy487;
-       default:        goto yy386;
+       case 't':       goto yy503;
+       default:        goto yy402;
        }
-yy487:
+yy503:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy488;
-       default:        goto yy386;
+       case 'i':       goto yy504;
+       default:        goto yy402;
        }
-yy488:
+yy504:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy489;
-       default:        goto yy386;
+       case 'o':       goto yy505;
+       default:        goto yy402;
        }
-yy489:
+yy505:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy406;
-       default:        goto yy386;
+       case 'n':       goto yy422;
+       default:        goto yy402;
        }
-yy490:
+yy506:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
-       default:        goto yy386;
+       case 'e':       goto yy422;
+       default:        goto yy402;
        }
-yy491:
+yy507:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy492;
-       default:        goto yy386;
+       case 'd':       goto yy508;
+       default:        goto yy402;
        }
-yy492:
+yy508:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy493;
-       default:        goto yy386;
+       case 's':       goto yy509;
+       default:        goto yy402;
        }
-yy493:
+yy509:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy494;
-       default:        goto yy386;
+       case 'e':       goto yy510;
+       default:        goto yy402;
        }
-yy494:
+yy510:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy406;
-       default:        goto yy386;
+       case 't':       goto yy422;
+       default:        goto yy402;
        }
-yy495:
+yy511:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy497;
-       default:        goto yy386;
+       case 't':       goto yy513;
+       default:        goto yy402;
        }
-yy496:
+yy512:
        yych = *++c;
        switch (yych) {
        case 'M':
-       case 'm':       goto yy406;
-       default:        goto yy386;
+       case 'm':       goto yy422;
+       default:        goto yy402;
        }
-yy497:
+yy513:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy498;
-       default:        goto yy386;
+       case 'e':       goto yy514;
+       default:        goto yy402;
        }
-yy498:
+yy514:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy406;
-       default:        goto yy386;
+       case 'r':       goto yy422;
+       default:        goto yy402;
        }
-yy499:
+yy515:
        yych = *++c;
        switch (yych) {
        case 'M':
-       case 'm':       goto yy500;
-       default:        goto yy386;
+       case 'm':       goto yy516;
+       default:        goto yy402;
        }
-yy500:
+yy516:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy501;
-       default:        goto yy386;
+       case 'e':       goto yy517;
+       default:        goto yy402;
        }
-yy501:
+yy517:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy502;
-       default:        goto yy386;
+       case 's':       goto yy518;
+       default:        goto yy402;
        }
-yy502:
+yy518:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy503;
-       default:        goto yy386;
+       case 'e':       goto yy519;
+       default:        goto yy402;
        }
-yy503:
+yy519:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy406;
-       default:        goto yy386;
+       case 't':       goto yy422;
+       default:        goto yy402;
        }
-yy504:
+yy520:
        yych = *++c;
        switch (yych) {
        case 'R':
        case 'V':
        case 'r':
-       case 'v':       goto yy406;
-       default:        goto yy386;
+       case 'v':       goto yy422;
+       default:        goto yy402;
        }
-yy505:
+yy521:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy510;
-       default:        goto yy386;
+       case 'n':       goto yy526;
+       default:        goto yy402;
        }
-yy506:
+yy522:
        yych = *++c;
        switch (yych) {
        case 'N':
-       case 'n':       goto yy507;
-       default:        goto yy386;
+       case 'n':       goto yy523;
+       default:        goto yy402;
        }
-yy507:
+yy523:
        yych = *++c;
        switch (yych) {
        case 'V':
-       case 'v':       goto yy508;
-       default:        goto yy386;
+       case 'v':       goto yy524;
+       default:        goto yy402;
        }
-yy508:
+yy524:
        yych = *++c;
        switch (yych) {
        case 'A':
-       case 'a':       goto yy509;
-       default:        goto yy386;
+       case 'a':       goto yy525;
+       default:        goto yy402;
        }
-yy509:
+yy525:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy406;
-       default:        goto yy386;
+       case 's':       goto yy422;
+       default:        goto yy402;
        }
-yy510:
+yy526:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy511;
-       default:        goto yy386;
+       case 't':       goto yy527;
+       default:        goto yy402;
        }
-yy511:
+yy527:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy512;
-       default:        goto yy386;
+       case 'e':       goto yy528;
+       default:        goto yy402;
        }
-yy512:
+yy528:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy406;
-       default:        goto yy386;
+       case 'r':       goto yy422;
+       default:        goto yy402;
        }
-yy513:
+yy529:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy514;
-       default:        goto yy386;
+       case 'o':       goto yy530;
+       default:        goto yy402;
        }
-yy514:
+yy530:
        yych = *++c;
        switch (yych) {
        case 'C':
-       case 'c':       goto yy515;
-       default:        goto yy386;
+       case 'c':       goto yy531;
+       default:        goto yy402;
        }
-yy515:
+yy531:
        yych = *++c;
        switch (yych) {
        case 'K':
-       case 'k':       goto yy516;
-       default:        goto yy386;
+       case 'k':       goto yy532;
+       default:        goto yy402;
        }
-yy516:
+yy532:
        yych = *++c;
        switch (yych) {
        case 'Q':
-       case 'q':       goto yy517;
-       default:        goto yy386;
+       case 'q':       goto yy533;
+       default:        goto yy402;
        }
-yy517:
+yy533:
        yych = *++c;
        switch (yych) {
        case 'U':
-       case 'u':       goto yy518;
-       default:        goto yy386;
+       case 'u':       goto yy534;
+       default:        goto yy402;
        }
-yy518:
+yy534:
        yych = *++c;
        switch (yych) {
        case 'O':
-       case 'o':       goto yy519;
-       default:        goto yy386;
+       case 'o':       goto yy535;
+       default:        goto yy402;
        }
-yy519:
+yy535:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy520;
-       default:        goto yy386;
+       case 't':       goto yy536;
+       default:        goto yy402;
        }
-yy520:
+yy536:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
-       default:        goto yy386;
+       case 'e':       goto yy422;
+       default:        goto yy402;
        }
-yy521:
+yy537:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy532;
-       default:        goto yy386;
+       case 'i':       goto yy548;
+       default:        goto yy402;
        }
-yy522:
+yy538:
        yych = *++c;
        switch (yych) {
        case 'T':
-       case 't':       goto yy528;
-       default:        goto yy386;
+       case 't':       goto yy544;
+       default:        goto yy402;
        }
-yy523:
+yy539:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy524;
-       default:        goto yy386;
+       case 'd':       goto yy540;
+       default:        goto yy402;
        }
-yy524:
+yy540:
        yych = *++c;
        switch (yych) {
        case 'R':
-       case 'r':       goto yy525;
-       default:        goto yy386;
+       case 'r':       goto yy541;
+       default:        goto yy402;
        }
-yy525:
+yy541:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy526;
-       default:        goto yy386;
+       case 'e':       goto yy542;
+       default:        goto yy402;
        }
-yy526:
+yy542:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy527;
-       default:        goto yy386;
+       case 's':       goto yy543;
+       default:        goto yy402;
        }
-yy527:
+yy543:
        yych = *++c;
        switch (yych) {
        case 'S':
-       case 's':       goto yy406;
-       default:        goto yy386;
+       case 's':       goto yy422;
+       default:        goto yy402;
        }
-yy528:
+yy544:
        yych = *++c;
        switch (yych) {
        case 'I':
-       case 'i':       goto yy529;
-       default:        goto yy386;
+       case 'i':       goto yy545;
+       default:        goto yy402;
        }
-yy529:
+yy545:
        yych = *++c;
        switch (yych) {
        case 'C':
-       case 'c':       goto yy530;
-       default:        goto yy386;
+       case 'c':       goto yy546;
+       default:        goto yy402;
        }
-yy530:
+yy546:
        yych = *++c;
        switch (yych) {
        case 'L':
-       case 'l':       goto yy531;
-       default:        goto yy386;
+       case 'l':       goto yy547;
+       default:        goto yy402;
        }
-yy531:
+yy547:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
-       default:        goto yy386;
+       case 'e':       goto yy422;
+       default:        goto yy402;
        }
-yy532:
+yy548:
        yych = *++c;
        switch (yych) {
        case 'D':
-       case 'd':       goto yy533;
-       default:        goto yy386;
+       case 'd':       goto yy549;
+       default:        goto yy402;
        }
-yy533:
+yy549:
        yych = *++c;
        switch (yych) {
        case 'E':
-       case 'e':       goto yy406;
-       default:        goto yy386;
+       case 'e':       goto yy422;
+       default:        goto yy402;
        }
-yy534:
+yy550:
        ++c;
        switch ((yych = *c)) {
        case 'E':
-       case 'e':       goto yy439;
-       default:        goto yy413;
+       case 'e':       goto yy455;
+       default:        goto yy429;
        }
 }
        
@@ -7322,17 +7403,17 @@ size_t scan_html_line(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy537;
-       case '<':       goto yy538;
-       default:        goto yy539;
+       case '\n':      goto yy553;
+       case '<':       goto yy554;
+       default:        goto yy555;
        }
-yy537:
+yy553:
        { return 0; }
-yy538:
+yy554:
        yych = *(marker = ++c);
        switch (yych) {
-       case '!':       goto yy540;
-       case '/':       goto yy542;
+       case '!':       goto yy556;
+       case '/':       goto yy558;
        case 'A':
        case 'B':
        case 'C':
@@ -7384,22 +7465,22 @@ yy538:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy543;
-       default:        goto yy537;
+       case 'z':       goto yy559;
+       default:        goto yy553;
        }
-yy539:
+yy555:
        yych = *++c;
-       goto yy537;
-yy540:
+       goto yy553;
+yy556:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy574;
-       default:        goto yy541;
+       case '-':       goto yy590;
+       default:        goto yy557;
        }
-yy541:
+yy557:
        c = marker;
-       goto yy537;
-yy542:
+       goto yy553;
+yy558:
        yych = *++c;
        switch (yych) {
        case 'A':
@@ -7453,17 +7534,17 @@ yy542:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy570;
-       default:        goto yy541;
+       case 'z':       goto yy586;
+       default:        goto yy557;
        }
-yy543:
+yy559:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy547;
-       case '\n':      goto yy549;
-       case '\r':      goto yy551;
+       case ' ':       goto yy563;
+       case '\n':      goto yy565;
+       case '\r':      goto yy567;
        case '-':
        case '0':
        case '1':
@@ -7474,11 +7555,11 @@ yy543:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy543;
-       case '/':       goto yy556;
+       case '9':       goto yy559;
+       case '/':       goto yy572;
        case ':':
-       case '_':       goto yy552;
-       case '>':       goto yy554;
+       case '_':       goto yy568;
+       case '>':       goto yy570;
        case 'A':
        case 'B':
        case 'C':
@@ -7530,17 +7611,17 @@ yy543:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy545;
-       default:        goto yy541;
+       case 'z':       goto yy561;
+       default:        goto yy557;
        }
-yy545:
+yy561:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy547;
-       case '\n':      goto yy549;
-       case '\r':      goto yy551;
+       case ' ':       goto yy563;
+       case '\n':      goto yy565;
+       case '\r':      goto yy567;
        case '-':
        case '0':
        case '1':
@@ -7603,24 +7684,24 @@ yy545:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy545;
+       case 'z':       goto yy561;
        case '.':
        case ':':
-       case '_':       goto yy552;
-       case '/':       goto yy556;
-       case '=':       goto yy560;
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case '_':       goto yy568;
+       case '/':       goto yy572;
+       case '=':       goto yy576;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy547:
+yy563:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy547;
-       case '\n':      goto yy549;
-       case '\r':      goto yy551;
-       case '/':       goto yy556;
+       case ' ':       goto yy563;
+       case '\n':      goto yy565;
+       case '\r':      goto yy567;
+       case '/':       goto yy572;
        case ':':
        case 'A':
        case 'B':
@@ -7674,16 +7755,16 @@ yy547:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy552;
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case 'z':       goto yy568;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy549:
+yy565:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy549;
+       case ' ':       goto yy565;
        case ':':
        case 'A':
        case 'B':
@@ -7737,16 +7818,16 @@ yy549:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy552;
-       default:        goto yy541;
+       case 'z':       goto yy568;
+       default:        goto yy557;
        }
-yy551:
+yy567:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
        case '\n':
-       case ' ':       goto yy549;
+       case ' ':       goto yy565;
        case ':':
        case 'A':
        case 'B':
@@ -7800,10 +7881,10 @@ yy551:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy552;
-       default:        goto yy541;
+       case 'z':       goto yy568;
+       default:        goto yy557;
        }
-yy552:
+yy568:
        ++c;
        yych = *c;
        switch (yych) {
@@ -7872,44 +7953,44 @@ yy552:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy552;
-       case '=':       goto yy560;
-       default:        goto yy541;
+       case 'z':       goto yy568;
+       case '=':       goto yy576;
+       default:        goto yy557;
        }
-yy554:
+yy570:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy554;
-       case '\n':      goto yy557;
-       case '\r':      goto yy559;
-       default:        goto yy541;
+       case ' ':       goto yy570;
+       case '\n':      goto yy573;
+       case '\r':      goto yy575;
+       default:        goto yy557;
        }
-yy556:
+yy572:
        yych = *++c;
        switch (yych) {
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy557:
+yy573:
        ++c;
-yy558:
+yy574:
        { return (size_t)( c - start ); }
-yy559:
+yy575:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy557;
-       default:        goto yy558;
+       case '\n':      goto yy573;
+       default:        goto yy574;
        }
-yy560:
+yy576:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy560;
-       case '"':       goto yy562;
-       case '\'':      goto yy564;
+       case ' ':       goto yy576;
+       case '"':       goto yy578;
+       case '\'':      goto yy580;
        case '.':
        case '0':
        case '1':
@@ -7972,37 +8053,37 @@ yy560:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy566;
-       default:        goto yy541;
+       case 'z':       goto yy582;
+       default:        goto yy557;
        }
-yy562:
+yy578:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy541;
-       case '"':       goto yy547;
-       default:        goto yy562;
+       case '\r':      goto yy557;
+       case '"':       goto yy563;
+       default:        goto yy578;
        }
-yy564:
+yy580:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy541;
-       case '\'':      goto yy547;
-       default:        goto yy564;
+       case '\r':      goto yy557;
+       case '\'':      goto yy563;
+       default:        goto yy580;
        }
-yy566:
+yy582:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy547;
-       case '\n':      goto yy549;
-       case '\r':      goto yy551;
+       case ' ':       goto yy563;
+       case '\n':      goto yy565;
+       case '\r':      goto yy567;
        case '.':
        case '0':
        case '1':
@@ -8013,11 +8094,11 @@ yy566:
        case '6':
        case '7':
        case '8':
-       case '9':       goto yy566;
-       case '/':       goto yy556;
+       case '9':       goto yy582;
+       case '/':       goto yy572;
        case ':':
-       case '_':       goto yy552;
-       case '>':       goto yy554;
+       case '_':       goto yy568;
+       case '>':       goto yy570;
        case 'A':
        case 'B':
        case 'C':
@@ -8069,20 +8150,20 @@ yy566:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy568;
-       default:        goto yy541;
+       case 'z':       goto yy584;
+       default:        goto yy557;
        }
-yy568:
+yy584:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy547;
-       case '\n':      goto yy549;
-       case '\r':      goto yy551;
+       case ' ':       goto yy563;
+       case '\n':      goto yy565;
+       case '\r':      goto yy567;
        case '-':
        case ':':
-       case '_':       goto yy552;
+       case '_':       goto yy568;
        case '.':
        case '0':
        case '1':
@@ -8145,18 +8226,18 @@ yy568:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy568;
-       case '/':       goto yy556;
-       case '=':       goto yy560;
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case 'z':       goto yy584;
+       case '/':       goto yy572;
+       case '=':       goto yy576;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy570:
+yy586:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy572;
+       case ' ':       goto yy588;
        case '-':
        case '0':
        case '1':
@@ -8219,58 +8300,58 @@ yy570:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy570;
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case 'z':       goto yy586;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy572:
+yy588:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy572;
-       case '>':       goto yy554;
-       default:        goto yy541;
+       case ' ':       goto yy588;
+       case '>':       goto yy570;
+       default:        goto yy557;
        }
-yy574:
+yy590:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy575;
-       default:        goto yy541;
+       case '-':       goto yy591;
+       default:        goto yy557;
        }
-yy575:
+yy591:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy541;
-       default:        goto yy577;
+       case '-':       goto yy557;
+       default:        goto yy593;
        }
-yy576:
+yy592:
        ++c;
        yych = *c;
-yy577:
+yy593:
        switch (yych) {
        case 0x00:
-       case '>':       goto yy541;
-       case '-':       goto yy578;
-       default:        goto yy576;
+       case '>':       goto yy557;
+       case '-':       goto yy594;
+       default:        goto yy592;
        }
-yy578:
+yy594:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '>':       goto yy541;
-       case '-':       goto yy579;
-       default:        goto yy576;
+       case '>':       goto yy557;
+       case '-':       goto yy595;
+       default:        goto yy592;
        }
-yy579:
+yy595:
        ++c;
        yych = *c;
        switch (yych) {
-       case 0x00:      goto yy541;
-       case '-':       goto yy579;
-       case '>':       goto yy554;
-       default:        goto yy576;
+       case 0x00:      goto yy557;
+       case '-':       goto yy595;
+       case '>':       goto yy570;
+       default:        goto yy592;
        }
 }
        
@@ -8286,108 +8367,108 @@ size_t scan_fence_start(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy583;
-       case ' ':       goto yy584;
+       case '\n':      goto yy599;
+       case ' ':       goto yy600;
        case '`':
-       case '~':       goto yy585;
-       default:        goto yy586;
+       case '~':       goto yy601;
+       default:        goto yy602;
        }
-yy583:
+yy599:
        { return 0; }
-yy584:
+yy600:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy598;
+       case ' ':       goto yy614;
        case '`':
-       case '~':       goto yy599;
-       default:        goto yy583;
+       case '~':       goto yy615;
+       default:        goto yy599;
        }
-yy585:
+yy601:
        yych = *(marker = ++c);
        switch (yych) {
        case '`':
-       case '~':       goto yy587;
-       default:        goto yy583;
+       case '~':       goto yy603;
+       default:        goto yy599;
        }
-yy586:
+yy602:
        yych = *++c;
-       goto yy583;
-yy587:
+       goto yy599;
+yy603:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy589;
-       default:        goto yy588;
+       case '~':       goto yy605;
+       default:        goto yy604;
        }
-yy588:
+yy604:
        c = marker;
-       goto yy583;
-yy589:
+       goto yy599;
+yy605:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
        case '\r':
-       case '\'':      goto yy588;
-       case '`':       goto yy589;
-       case '~':       goto yy593;
-       default:        goto yy591;
+       case '\'':      goto yy604;
+       case '`':       goto yy605;
+       case '~':       goto yy609;
+       default:        goto yy607;
        }
-yy591:
+yy607:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy595;
-       case '\r':      goto yy597;
+       case '\n':      goto yy611;
+       case '\r':      goto yy613;
        case '\'':
-       case '`':       goto yy588;
-       default:        goto yy591;
+       case '`':       goto yy604;
+       default:        goto yy607;
        }
-yy593:
+yy609:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy595;
-       case '\r':      goto yy597;
-       case '\'':      goto yy588;
-       case '`':       goto yy589;
-       case '~':       goto yy593;
-       default:        goto yy591;
+       case '\n':      goto yy611;
+       case '\r':      goto yy613;
+       case '\'':      goto yy604;
+       case '`':       goto yy605;
+       case '~':       goto yy609;
+       default:        goto yy607;
        }
-yy595:
+yy611:
        ++c;
-yy596:
+yy612:
        { return (size_t)( c - start ); }
-yy597:
+yy613:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy595;
-       default:        goto yy596;
+       case '\n':      goto yy611;
+       default:        goto yy612;
        }
-yy598:
+yy614:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy600;
+       case ' ':       goto yy616;
        case '`':
-       case '~':       goto yy599;
-       default:        goto yy588;
+       case '~':       goto yy615;
+       default:        goto yy604;
        }
-yy599:
+yy615:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy587;
-       default:        goto yy588;
+       case '~':       goto yy603;
+       default:        goto yy604;
        }
-yy600:
+yy616:
        ++c;
        switch ((yych = *c)) {
        case '`':
-       case '~':       goto yy599;
-       default:        goto yy588;
+       case '~':       goto yy615;
+       default:        goto yy604;
        }
 }
        
@@ -8403,97 +8484,97 @@ size_t scan_fence_end(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy603;
-       case ' ':       goto yy604;
+       case '\n':      goto yy619;
+       case ' ':       goto yy620;
        case '`':
-       case '~':       goto yy605;
-       default:        goto yy606;
+       case '~':       goto yy621;
+       default:        goto yy622;
        }
-yy603:
+yy619:
        { return 0; }
-yy604:
+yy620:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy616;
+       case ' ':       goto yy632;
        case '`':
-       case '~':       goto yy617;
-       default:        goto yy603;
+       case '~':       goto yy633;
+       default:        goto yy619;
        }
-yy605:
+yy621:
        yych = *(marker = ++c);
        switch (yych) {
        case '`':
-       case '~':       goto yy607;
-       default:        goto yy603;
+       case '~':       goto yy623;
+       default:        goto yy619;
        }
-yy606:
+yy622:
        yych = *++c;
-       goto yy603;
-yy607:
+       goto yy619;
+yy623:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy609;
-       default:        goto yy608;
+       case '~':       goto yy625;
+       default:        goto yy624;
        }
-yy608:
+yy624:
        c = marker;
-       goto yy603;
-yy609:
+       goto yy619;
+yy625:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy613;
+       case '\n':      goto yy629;
        case '\t':
-       case ' ':       goto yy611;
-       case '\r':      goto yy615;
+       case ' ':       goto yy627;
+       case '\r':      goto yy631;
        case '`':
-       case '~':       goto yy609;
-       default:        goto yy608;
+       case '~':       goto yy625;
+       default:        goto yy624;
        }
-yy611:
+yy627:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy613;
+       case '\n':      goto yy629;
        case '\t':
-       case ' ':       goto yy611;
-       case '\r':      goto yy615;
-       default:        goto yy608;
+       case ' ':       goto yy627;
+       case '\r':      goto yy631;
+       default:        goto yy624;
        }
-yy613:
+yy629:
        ++c;
-yy614:
+yy630:
        { return (size_t)( c - start ); }
-yy615:
+yy631:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy613;
-       default:        goto yy614;
+       case '\n':      goto yy629;
+       default:        goto yy630;
        }
-yy616:
+yy632:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy618;
+       case ' ':       goto yy634;
        case '`':
-       case '~':       goto yy617;
-       default:        goto yy608;
+       case '~':       goto yy633;
+       default:        goto yy624;
        }
-yy617:
+yy633:
        yych = *++c;
        switch (yych) {
        case '`':
-       case '~':       goto yy607;
-       default:        goto yy608;
+       case '~':       goto yy623;
+       default:        goto yy624;
        }
-yy618:
+yy634:
        ++c;
        switch ((yych = *c)) {
        case '`':
-       case '~':       goto yy617;
-       default:        goto yy608;
+       case '~':       goto yy633;
+       default:        goto yy624;
        }
 }
        
@@ -8509,7 +8590,7 @@ size_t scan_meta_line(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy621;
+       case '\n':      goto yy637;
        case '0':
        case '1':
        case '2':
@@ -8571,15 +8652,15 @@ size_t scan_meta_line(const char * c) {
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy622;
-       default:        goto yy623;
+       case 'z':       goto yy638;
+       default:        goto yy639;
        }
-yy621:
+yy637:
        { return 0; }
-yy622:
+yy638:
        yych = *(marker = ++c);
        switch (yych) {
-       case '\t':      goto yy627;
+       case '\t':      goto yy643;
        case ' ':
        case '!':
        case '"':
@@ -8657,18 +8738,18 @@ yy622:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy624;
-       case ':':       goto yy629;
-       default:        goto yy621;
+       case 'z':       goto yy640;
+       case ':':       goto yy645;
+       default:        goto yy637;
        }
-yy623:
+yy639:
        yych = *++c;
-       goto yy621;
-yy624:
+       goto yy637;
+yy640:
        ++c;
        yych = *c;
        switch (yych) {
-       case '\t':      goto yy627;
+       case '\t':      goto yy643;
        case ' ':
        case '!':
        case '"':
@@ -8746,48 +8827,48 @@ yy624:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy624;
-       case ':':       goto yy629;
-       default:        goto yy626;
+       case 'z':       goto yy640;
+       case ':':       goto yy645;
+       default:        goto yy642;
        }
-yy626:
+yy642:
        c = marker;
-       goto yy621;
-yy627:
+       goto yy637;
+yy643:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy627;
-       case ':':       goto yy629;
-       default:        goto yy626;
+       case ' ':       goto yy643;
+       case ':':       goto yy645;
+       default:        goto yy642;
        }
-yy629:
+yy645:
        yych = *++c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy626;
-       default:        goto yy630;
+       case '\r':      goto yy642;
+       default:        goto yy646;
        }
-yy630:
+yy646:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy632;
-       case '\r':      goto yy634;
-       default:        goto yy630;
+       case '\n':      goto yy648;
+       case '\r':      goto yy650;
+       default:        goto yy646;
        }
-yy632:
+yy648:
        ++c;
-yy633:
+yy649:
        { return (size_t)( c - start ); }
-yy634:
+yy650:
        ++c;
        switch ((yych = *c)) {
-       case '\n':      goto yy632;
-       default:        goto yy633;
+       case '\n':      goto yy648;
+       default:        goto yy649;
        }
 }
        
@@ -8803,7 +8884,7 @@ size_t scan_meta_key(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy637;
+       case '\n':      goto yy653;
        case '0':
        case '1':
        case '2':
@@ -8865,24 +8946,24 @@ size_t scan_meta_key(const char * c) {
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy638;
-       default:        goto yy640;
+       case 'z':       goto yy654;
+       default:        goto yy656;
        }
-yy637:
+yy653:
        { return 0; }
-yy638:
+yy654:
        ++c;
        yych = *c;
-       goto yy642;
-yy639:
+       goto yy658;
+yy655:
        { return (size_t)( c - start ); }
-yy640:
+yy656:
        yych = *++c;
-       goto yy637;
-yy641:
+       goto yy653;
+yy657:
        ++c;
        yych = *c;
-yy642:
+yy658:
        switch (yych) {
        case ' ':
        case '!':
@@ -8961,8 +9042,8 @@ yy642:
        case 'w':
        case 'x':
        case 'y':
-       case 'z':       goto yy641;
-       default:        goto yy639;
+       case 'z':       goto yy657;
+       default:        goto yy655;
        }
 }
        
@@ -8978,71 +9059,71 @@ size_t scan_definition(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy645;
-       case ' ':       goto yy646;
-       case ':':       goto yy647;
-       default:        goto yy648;
+       case '\n':      goto yy661;
+       case ' ':       goto yy662;
+       case ':':       goto yy663;
+       default:        goto yy664;
        }
-yy645:
+yy661:
        { return 0; }
-yy646:
+yy662:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy653;
-       case ':':       goto yy655;
-       default:        goto yy645;
+       case ' ':       goto yy669;
+       case ':':       goto yy671;
+       default:        goto yy661;
        }
-yy647:
+yy663:
        yych = *++c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy645;
-       default:        goto yy650;
+       case '\r':      goto yy661;
+       default:        goto yy666;
        }
-yy648:
+yy664:
        yych = *++c;
-       goto yy645;
-yy649:
+       goto yy661;
+yy665:
        ++c;
        yych = *c;
-yy650:
+yy666:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy651;
+       case '\r':      goto yy667;
        case '\t':
-       case ' ':       goto yy649;
-       default:        goto yy652;
+       case ' ':       goto yy665;
+       default:        goto yy668;
        }
-yy651:
+yy667:
        { return (size_t)( c - start ); }
-yy652:
+yy668:
        yych = *++c;
-       goto yy651;
-yy653:
+       goto yy667;
+yy669:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy656;
-       case ':':       goto yy655;
-       default:        goto yy654;
+       case ' ':       goto yy672;
+       case ':':       goto yy671;
+       default:        goto yy670;
        }
-yy654:
+yy670:
        c = marker;
-       goto yy645;
-yy655:
+       goto yy661;
+yy671:
        yych = *++c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy654;
-       default:        goto yy650;
+       case '\r':      goto yy670;
+       default:        goto yy666;
        }
-yy656:
+yy672:
        ++c;
        switch ((yych = *c)) {
-       case ':':       goto yy655;
-       default:        goto yy654;
+       case ':':       goto yy671;
+       default:        goto yy670;
        }
 }
        
@@ -9063,14 +9144,14 @@ size_t scan_table_separator(const char * c) {
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy661;
-       case '\n':      goto yy659;
-       case '|':       goto yy660;
-       default:        goto yy662;
+       case '=':       goto yy677;
+       case '\n':      goto yy675;
+       case '|':       goto yy676;
+       default:        goto yy678;
        }
-yy659:
+yy675:
        { return 0; }
-yy660:
+yy676:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x00:
@@ -9082,10 +9163,10 @@ yy660:
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy672;
-       default:        goto yy659;
+       case '|':       goto yy688;
+       default:        goto yy675;
        }
-yy661:
+yy677:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
@@ -9093,33 +9174,33 @@ yy661:
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy666;
-       case '|':       goto yy663;
-       default:        goto yy659;
+       case '=':       goto yy682;
+       case '|':       goto yy679;
+       default:        goto yy675;
        }
-yy662:
+yy678:
        yych = *++c;
-       goto yy659;
-yy663:
+       goto yy675;
+yy679:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy668;
+       case '\n':      goto yy684;
        case '\t':
        case ' ':
        case '+':
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy663;
-       case '\r':      goto yy670;
-       default:        goto yy665;
+       case '|':       goto yy679;
+       case '\r':      goto yy686;
+       default:        goto yy681;
        }
-yy665:
+yy681:
        c = marker;
-       goto yy659;
-yy666:
+       goto yy675;
+yy682:
        ++c;
        yych = *c;
        switch (yych) {
@@ -9128,36 +9209,36 @@ yy666:
        case '+':
        case '-':
        case ':':
-       case '=':       goto yy666;
-       case '|':       goto yy663;
-       default:        goto yy665;
+       case '=':       goto yy682;
+       case '|':       goto yy679;
+       default:        goto yy681;
        }
-yy668:
+yy684:
        ++c;
-yy669:
+yy685:
        { return (size_t)( c - start ); }
-yy670:
+yy686:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy668;
-       default:        goto yy669;
+       case '\n':      goto yy684;
+       default:        goto yy685;
        }
-yy671:
+yy687:
        ++c;
        yych = *c;
-yy672:
+yy688:
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy668;
+       case '\n':      goto yy684;
        case '\t':
        case ' ':
        case '+':
        case '-':
        case ':':
        case '=':
-       case '|':       goto yy671;
-       case '\r':      goto yy670;
-       default:        goto yy665;
+       case '|':       goto yy687;
+       case '\r':      goto yy686;
+       default:        goto yy681;
        }
 }
        
@@ -9173,234 +9254,234 @@ size_t scan_alignment_string(const char * c) {
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy676;
-       case '\n':      goto yy675;
+       case ' ':       goto yy692;
+       case '\n':      goto yy691;
        case '-':
-       case '=':       goto yy678;
-       case ':':       goto yy677;
-       default:        goto yy679;
+       case '=':       goto yy694;
+       case ':':       goto yy693;
+       default:        goto yy695;
        }
-yy675:
+yy691:
        { return 0; }
-yy676:
+yy692:
        yych = *(marker = ++c);
        switch (yych) {
        case '\t':
-       case ' ':       goto yy718;
+       case ' ':       goto yy734;
        case '-':
-       case '=':       goto yy682;
-       case ':':       goto yy717;
-       default:        goto yy675;
+       case '=':       goto yy698;
+       case ':':       goto yy733;
+       default:        goto yy691;
        }
-yy677:
+yy693:
        yych = *(marker = ++c);
        switch (yych) {
        case '-':
-       case '=':       goto yy694;
-       default:        goto yy675;
+       case '=':       goto yy710;
+       default:        goto yy691;
        }
-yy678:
+yy694:
        yych = *(marker = ++c);
        switch (yych) {
        case '-':
-       case '=':       goto yy682;
-       case ':':       goto yy680;
-       default:        goto yy675;
+       case '=':       goto yy698;
+       case ':':       goto yy696;
+       default:        goto yy691;
        }
-yy679:
+yy695:
        yych = *++c;
-       goto yy675;
-yy680:
+       goto yy691;
+yy696:
        yych = *++c;
        switch (yych) {
-       case '+':       goto yy689;
-       default:        goto yy685;
+       case '+':       goto yy705;
+       default:        goto yy701;
        }
-yy681:
+yy697:
        c = marker;
-       goto yy675;
-yy682:
+       goto yy691;
+yy698:
        ++c;
        yych = *c;
        switch (yych) {
        case '-':
-       case '=':       goto yy682;
-       case ':':       goto yy680;
-       default:        goto yy681;
+       case '=':       goto yy698;
+       case ':':       goto yy696;
+       default:        goto yy697;
        }
-yy684:
+yy700:
        ++c;
        yych = *c;
-yy685:
+yy701:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy686;
+       case '|':       goto yy702;
        case '\t':
-       case ' ':       goto yy684;
-       case '\r':      goto yy688;
-       default:        goto yy681;
+       case ' ':       goto yy700;
+       case '\r':      goto yy704;
+       default:        goto yy697;
        }
-yy686:
+yy702:
        ++c;
-yy687:
+yy703:
        { return ALIGN_RIGHT; }
-yy688:
+yy704:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy686;
-       default:        goto yy687;
+       case '\n':      goto yy702;
+       default:        goto yy703;
        }
-yy689:
+yy705:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy691;
+       case '|':       goto yy707;
        case '\t':
-       case ' ':       goto yy689;
-       case '\r':      goto yy693;
-       default:        goto yy681;
+       case ' ':       goto yy705;
+       case '\r':      goto yy709;
+       default:        goto yy697;
        }
-yy691:
+yy707:
        ++c;
-yy692:
+yy708:
        { return ALIGN_WRAP | ALIGN_RIGHT; }
-yy693:
+yy709:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy691;
-       default:        goto yy692;
+       case '\n':      goto yy707;
+       default:        goto yy708;
        }
-yy694:
+yy710:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy698;
+       case '|':       goto yy714;
        case '\t':
-       case ' ':       goto yy696;
-       case '\r':      goto yy700;
-       case '+':       goto yy702;
+       case ' ':       goto yy712;
+       case '\r':      goto yy716;
+       case '+':       goto yy718;
        case '-':
-       case '=':       goto yy694;
-       case ':':       goto yy701;
-       default:        goto yy681;
+       case '=':       goto yy710;
+       case ':':       goto yy717;
+       default:        goto yy697;
        }
-yy696:
+yy712:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy698;
+       case '|':       goto yy714;
        case '\t':
-       case ' ':       goto yy696;
-       case '\r':      goto yy700;
-       default:        goto yy681;
+       case ' ':       goto yy712;
+       case '\r':      goto yy716;
+       default:        goto yy697;
        }
-yy698:
+yy714:
        ++c;
-yy699:
+yy715:
        { return ALIGN_LEFT; }
-yy700:
+yy716:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy698;
-       default:        goto yy699;
+       case '\n':      goto yy714;
+       default:        goto yy715;
        }
-yy701:
+yy717:
        yych = *++c;
        switch (yych) {
-       case '+':       goto yy707;
-       default:        goto yy710;
+       case '+':       goto yy723;
+       default:        goto yy726;
        }
-yy702:
+yy718:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy704;
+       case '|':       goto yy720;
        case '\t':
-       case ' ':       goto yy702;
-       case '\r':      goto yy706;
-       default:        goto yy681;
+       case ' ':       goto yy718;
+       case '\r':      goto yy722;
+       default:        goto yy697;
        }
-yy704:
+yy720:
        ++c;
-yy705:
+yy721:
        { return ALIGN_WRAP | ALIGN_LEFT; }
-yy706:
+yy722:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy704;
-       default:        goto yy705;
+       case '\n':      goto yy720;
+       default:        goto yy721;
        }
-yy707:
+yy723:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy714;
+       case '|':       goto yy730;
        case '\t':
-       case ' ':       goto yy707;
-       case '\r':      goto yy716;
-       default:        goto yy681;
+       case ' ':       goto yy723;
+       case '\r':      goto yy732;
+       default:        goto yy697;
        }
-yy709:
+yy725:
        ++c;
        yych = *c;
-yy710:
+yy726:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '|':       goto yy711;
+       case '|':       goto yy727;
        case '\t':
-       case ' ':       goto yy709;
-       case '\r':      goto yy713;
-       default:        goto yy681;
+       case ' ':       goto yy725;
+       case '\r':      goto yy729;
+       default:        goto yy697;
        }
-yy711:
+yy727:
        ++c;
-yy712:
+yy728:
        { return ALIGN_CENTER; }
-yy713:
+yy729:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy711;
-       default:        goto yy712;
+       case '\n':      goto yy727;
+       default:        goto yy728;
        }
-yy714:
+yy730:
        ++c;
-yy715:
+yy731:
        { return ALIGN_WRAP | ALIGN_CENTER; }
-yy716:
+yy732:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy714;
-       default:        goto yy715;
+       case '\n':      goto yy730;
+       default:        goto yy731;
        }
-yy717:
+yy733:
        yych = *++c;
        switch (yych) {
        case '-':
-       case '=':       goto yy694;
-       default:        goto yy681;
+       case '=':       goto yy710;
+       default:        goto yy697;
        }
-yy718:
+yy734:
        ++c;
        yych = *c;
        switch (yych) {
        case '\t':
-       case ' ':       goto yy718;
+       case ' ':       goto yy734;
        case '-':
-       case '=':       goto yy682;
-       case ':':       goto yy717;
-       default:        goto yy681;
+       case '=':       goto yy698;
+       case ':':       goto yy733;
+       default:        goto yy697;
        }
 }
        
@@ -9419,49 +9500,49 @@ size_t scan_destination(const char * c) {
        case 0x00:
        case '\t':
        case '\r':
-       case ' ':       goto yy726;
-       case '\n':      goto yy722;
-       case '<':       goto yy723;
-       default:        goto yy725;
+       case ' ':       goto yy742;
+       case '\n':      goto yy738;
+       case '<':       goto yy739;
+       default:        goto yy741;
        }
-yy722:
+yy738:
        { return 0; }
-yy723:
+yy739:
        ++c;
        yych = *c;
-       goto yy730;
-yy724:
+       goto yy746;
+yy740:
        { return (size_t)( c - start ); }
-yy725:
+yy741:
        yych = *++c;
-       goto yy728;
-yy726:
+       goto yy744;
+yy742:
        yych = *++c;
-       goto yy722;
-yy727:
+       goto yy738;
+yy743:
        ++c;
        yych = *c;
-yy728:
+yy744:
        switch (yych) {
        case 0x00:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy724;
-       default:        goto yy727;
+       case ' ':       goto yy740;
+       default:        goto yy743;
        }
-yy729:
+yy745:
        ++c;
        yych = *c;
-yy730:
+yy746:
        switch (yych) {
        case 0x00:
        case '\t':
        case '\n':
        case '\r':
-       case ' ':       goto yy724;
-       case '>':       goto yy727;
-       default:        goto yy729;
+       case ' ':       goto yy740;
+       case '>':       goto yy743;
+       default:        goto yy745;
        }
 }
        
@@ -9477,79 +9558,79 @@ size_t scan_title(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy733;
-       case '"':       goto yy734;
-       case '\'':      goto yy735;
-       case '(':       goto yy736;
-       default:        goto yy737;
+       case '\n':      goto yy749;
+       case '"':       goto yy750;
+       case '\'':      goto yy751;
+       case '(':       goto yy752;
+       default:        goto yy753;
        }
-yy733:
+yy749:
        { return 0; }
-yy734:
+yy750:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy733;
-       default:        goto yy746;
+       case '\r':      goto yy749;
+       default:        goto yy762;
        }
-yy735:
+yy751:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy733;
-       default:        goto yy744;
+       case '\r':      goto yy749;
+       default:        goto yy760;
        }
-yy736:
+yy752:
        yych = *(marker = ++c);
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy733;
-       default:        goto yy739;
+       case '\r':      goto yy749;
+       default:        goto yy755;
        }
-yy737:
+yy753:
        yych = *++c;
-       goto yy733;
-yy738:
+       goto yy749;
+yy754:
        ++c;
        yych = *c;
-yy739:
+yy755:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy740;
-       case ')':       goto yy741;
-       default:        goto yy738;
+       case '\r':      goto yy756;
+       case ')':       goto yy757;
+       default:        goto yy754;
        }
-yy740:
+yy756:
        c = marker;
-       goto yy733;
-yy741:
+       goto yy749;
+yy757:
        ++c;
        { return (size_t)( c - start ); }
-yy743:
+yy759:
        ++c;
        yych = *c;
-yy744:
+yy760:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy740;
-       case '\'':      goto yy741;
-       default:        goto yy743;
+       case '\r':      goto yy756;
+       case '\'':      goto yy757;
+       default:        goto yy759;
        }
-yy745:
+yy761:
        ++c;
        yych = *c;
-yy746:
+yy762:
        switch (yych) {
        case 0x00:
        case '\n':
-       case '\r':      goto yy740;
-       case '"':       goto yy741;
-       default:        goto yy745;
+       case '\r':      goto yy756;
+       case '"':       goto yy757;
+       default:        goto yy761;
        }
 }
        
@@ -9564,106 +9645,106 @@ size_t scan_setext(const char * c) {
        char yych;
        yych = *c;
        switch (yych) {
-       case '\n':      goto yy749;
-       case ' ':       goto yy750;
-       case '-':       goto yy752;
-       case '=':       goto yy751;
-       default:        goto yy753;
+       case '\n':      goto yy765;
+       case ' ':       goto yy766;
+       case '-':       goto yy768;
+       case '=':       goto yy767;
+       default:        goto yy769;
        }
-yy749:
+yy765:
        { return 0; }
-yy750:
+yy766:
        yych = *(marker = ++c);
        switch (yych) {
-       case ' ':       goto yy765;
-       case '-':       goto yy766;
-       case '=':       goto yy767;
-       default:        goto yy749;
+       case ' ':       goto yy781;
+       case '-':       goto yy782;
+       case '=':       goto yy783;
+       default:        goto yy765;
        }
-yy751:
+yy767:
        yych = *(marker = ++c);
        switch (yych) {
-       case '=':       goto yy760;
-       default:        goto yy749;
+       case '=':       goto yy776;
+       default:        goto yy765;
        }
-yy752:
+yy768:
        yych = *(marker = ++c);
        switch (yych) {
-       case '-':       goto yy754;
-       default:        goto yy749;
+       case '-':       goto yy770;
+       default:        goto yy765;
        }
-yy753:
+yy769:
        yych = *++c;
-       goto yy749;
-yy754:
+       goto yy765;
+yy770:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy757;
-       case '\r':      goto yy759;
-       case '-':       goto yy754;
-       default:        goto yy756;
+       case '\n':      goto yy773;
+       case '\r':      goto yy775;
+       case '-':       goto yy770;
+       default:        goto yy772;
        }
-yy756:
+yy772:
        c = marker;
-       goto yy749;
-yy757:
+       goto yy765;
+yy773:
        ++c;
-yy758:
+yy774:
        { return (size_t)( c - start ); }
-yy759:
+yy775:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy757;
-       default:        goto yy758;
+       case '\n':      goto yy773;
+       default:        goto yy774;
        }
-yy760:
+yy776:
        ++c;
        yych = *c;
        switch (yych) {
        case 0x00:
-       case '\n':      goto yy762;
-       case '\r':      goto yy764;
-       case '=':       goto yy760;
-       default:        goto yy756;
+       case '\n':      goto yy778;
+       case '\r':      goto yy780;
+       case '=':       goto yy776;
+       default:        goto yy772;
        }
-yy762:
+yy778:
        ++c;
-yy763:
+yy779:
        { return (size_t)( c - start ); }
-yy764:
+yy780:
        yych = *++c;
        switch (yych) {
-       case '\n':      goto yy762;
-       default:        goto yy763;
+       case '\n':      goto yy778;
+       default:        goto yy779;
        }
-yy765:
+yy781:
        yych = *++c;
        switch (yych) {
-       case ' ':       goto yy768;
-       case '-':       goto yy766;
-       case '=':       goto yy767;
-       default:        goto yy756;
+       case ' ':       goto yy784;
+       case '-':       goto yy782;
+       case '=':       goto yy783;
+       default:        goto yy772;
        }
-yy766:
+yy782:
        yych = *++c;
        switch (yych) {
-       case '-':       goto yy754;
-       default:        goto yy756;
+       case '-':       goto yy770;
+       default:        goto yy772;
        }
-yy767:
+yy783:
        yych = *++c;
        switch (yych) {
-       case '=':       goto yy760;
-       default:        goto yy756;
+       case '=':       goto yy776;
+       default:        goto yy772;
        }
-yy768:
+yy784:
        ++c;
        switch ((yych = *c)) {
-       case '-':       goto yy766;
-       case '=':       goto yy767;
-       default:        goto yy756;
+       case '-':       goto yy782;
+       case '=':       goto yy783;
+       default:        goto yy772;
        }
 }
        
index c42ecb0490661f40fbfafe1801182d0000036b10..ea0f6725b7ab4f5592ca03a16c0f754ae2053e47 100644 (file)
@@ -79,6 +79,7 @@ size_t scan_fence_start(const char * c);
 size_t scan_fence_end(const char * c);
 size_t scan_html(const char * c);
 size_t scan_html_block(const char * c);
+size_t scan_html_comment(const char * c);
 size_t scan_html_line(const char * c);
 size_t scan_key(const char * c);
 size_t scan_meta_key(const char * c);
index 8306b16e3fac9224a5f4681ba1fd18b66a9fb9d5..0b615321357f50d4799dabd393f7f4d1b72b5a83 100644 (file)
@@ -286,6 +286,17 @@ size_t scan_html(const char * c) {
 }
 
 
+size_t scan_html_comment(const char * c) {
+       const char * marker = NULL;
+       const char * start = c;
+
+/*!re2c
+       tag_comment     { return (size_t)( c - start ); }
+       .?                      { return 0; }
+*/     
+}
+
+
 size_t scan_html_block(const char * c) {
        const char * marker = NULL;
        const char * start = c;
index d00c334f1a7a18b4201a031370da57d4a3c53d59..273c925a9a53f1b1b4d19154abcc683b0dd5f752 100644 (file)
@@ -3,7 +3,7 @@
 
 ~\citep{foo1}
 
-~\citep{foo1}
+~\citep{foo1}[]
 
 ~\citep[p. 123]{foo1}
 
@@ -18,7 +18,7 @@
 
 \citet{foo1}
 
-\citet{foo1}
+\citet{foo1}[]
 
 \citet[p. 123]{foo1}
 
index 117dbe92bba58413fc6cdd71d636b1c61bb4e03a..cdc0d8b7dcb6cf045fa47d3977736c1f769363ff 100644 (file)
@@ -1,62 +1,62 @@
-<p><del><em>bar</em></del></p>
+<p><del><em>bar1</em></del></p>
 
 <del>
-*bar*
+*bar2*
 </del>
 
 <p>foo
 <del>
-<em>bar</em>
+<em>bar3</em>
 </del></p>
 
 <del>
-*bar*
+*bar4*
 
 </del>
 
 <del>
 
-<p><em>bar</em></p>
+<p><em>bar5</em></p>
 
 </del>
 
 <p>5</p>
 
-<div>*bar*</div>
+<div>*bar1*</div>
 
 <div>
-*bar*
+*bar2*
 </div>
 
 <p>foo</p>
 
 <div>
-*bar*
+*bar3*
 </div>
 
 <div>
-*bar*
+*bar4*
 
 </div>
 
 <div>
 
-<p><em>bar</em></p>
+<p><em>bar5</em></p>
 
 </div>
 
 <p>10</p>
 
 <div>
-# foo #
-[foo][foo]
+# foo1 #
+[foo][foo1]
 </div>
 
 <div>
 
-<h1 id="foo">foo </h1>
+<h1 id="foo2">foo2 </h1>
 
-<p><a href="#foo">foo</a></p>
+<p><a href="#foo2">foo</a></p>
 
 </div>
 
@@ -74,14 +74,14 @@ longer
 
 <div>
 <div>
-**foo**
+**foo1**
 </div>
 </div>
 
 <div>
 
 <div>
-**foo**
+**foo2**
 </div>
 
 </div>
@@ -90,7 +90,7 @@ longer
 
 <div>
 
-<p><strong>foo</strong></p>
+<p><strong>foo3</strong></p>
 
 </div>
 
@@ -99,7 +99,7 @@ longer
 <div>
 
 <div>
-**foo**
+**foo4**
 </div>
 
 </div>
@@ -107,7 +107,7 @@ longer
 <div>
 <div>
 
-<p><strong>foo</strong></p>
+<p><strong>foo5</strong></p>
 
 </div>
 </div>
index 3b0b73eeecfbab915d182cfb21567475c1526c20..9baf073c0892be74f8b2ce93f73f65ab8ede5d52 100644 (file)
@@ -1,62 +1,62 @@
-<p><del><em>bar</em></del></p>
+<p><del><em>bar1</em></del></p>
 
 <del>
-*bar*
+*bar2*
 </del>
 
 <p>foo
 <del>
-<em>bar</em>
+<em>bar3</em>
 </del></p>
 
 <del>
-*bar*
+*bar4*
 
 </del>
 
 <del>
 
-<p><em>bar</em></p>
+<p><em>bar5</em></p>
 
 </del>
 
 <p>5</p>
 
-<div>*bar*</div>
+<div>*bar1*</div>
 
 <div>
-*bar*
+*bar2*
 </div>
 
 <p>foo</p>
 
 <div>
-*bar*
+*bar3*
 </div>
 
 <div>
-*bar*
+*bar4*
 
 </div>
 
 <div>
 
-<p><em>bar</em></p>
+<p><em>bar5</em></p>
 
 </div>
 
 <p>10</p>
 
 <div>
-# foo #
-[foo][foo]
+# foo1 #
+[foo][foo1]
 </div>
 
 <div>
 
-<h1>foo </h1>
+<h1>foo2 </h1>
 
-<p>[foo][foo]</p>
+<p>[foo][foo2]</p>
 
 </div>
 
@@ -74,14 +74,14 @@ longer
 
 <div>
 <div>
-**foo**
+**foo1**
 </div>
 </div>
 
 <div>
 
 <div>
-**foo**
+**foo2**
 </div>
 
 </div>
@@ -90,7 +90,7 @@ longer
 
 <div>
 
-<p><strong>foo</strong></p>
+<p><strong>foo3</strong></p>
 
 </div>
 
@@ -99,7 +99,7 @@ longer
 <div>
 
 <div>
-**foo**
+**foo4**
 </div>
 
 </div>
@@ -107,7 +107,7 @@ longer
 <div>
 <div>
 
-<p><strong>foo</strong></p>
+<p><strong>foo5</strong></p>
 
 </div>
 </div>
diff --git a/tests/MMD6Tests/HTML Blocks.tex b/tests/MMD6Tests/HTML Blocks.tex
new file mode 100644 (file)
index 0000000..b024ed4
--- /dev/null
@@ -0,0 +1,33 @@
+\emph{bar1}
+
+foo
+
+\emph{bar3}
+
+
+\emph{bar5}
+
+5
+
+foo
+
+\emph{bar5}
+
+10
+
+\part{foo2 }
+\label{foo2}
+
+foo (\autoref{foo2})
+
+$<$!-- This is not a
+
+\emph{comment} --$>$
+
+15
+
+\textbf{foo3}
+
+\textbf{foo5}
+
+20
index b8d011fce079fc131ef77f903cfb6657bbd182fd..942ab347508f42b4c92d1bd4e6b469e11198900b 100644 (file)
@@ -1,63 +1,63 @@
-<del>*bar*</del>
+<del>*bar1*</del>
 
 <del>
-*bar*
+*bar2*
 </del>
 
 foo
 <del>
-*bar*
+*bar3*
 </del>
 
 <del>
-*bar*
+*bar4*
 
 </del>
 
 
 <del>
 
-*bar*
+*bar5*
 
 </del>
 
 5
 
-<div>*bar*</div>
+<div>*bar1*</div>
 
 <div>
-*bar*
+*bar2*
 </div>
 
 foo
 <div>
-*bar*
+*bar3*
 </div>
 
 <div>
-*bar*
+*bar4*
 
 </div>
 
 
 <div>
 
-*bar*
+*bar5*
 
 </div>
 
 10
 
 <div>
-# foo #
-[foo][foo]
+# foo1 #
+[foo][foo1]
 </div>
 
 <div>
 
-# foo #
+# foo2 #
 
-[foo][foo]
+[foo][foo2]
 
 </div>
 
@@ -76,7 +76,7 @@ longer
 
 <div>
 <div>
-**foo**
+**foo1**
 </div>
 </div>
 
@@ -84,7 +84,7 @@ longer
 <div>
 
 <div>
-**foo**
+**foo2**
 </div>
 
 </div>
@@ -94,7 +94,7 @@ longer
 
 <div>
 
-**foo**
+**foo3**
 
 </div>
 
@@ -104,7 +104,7 @@ longer
 <div>
 
 <div>
-**foo**
+**foo4**
 </div>
 
 </div>
@@ -113,7 +113,7 @@ longer
 <div>
 <div>
 
-**foo**
+**foo5**
 </div>
 </div>
 
diff --git a/tests/MMD6Tests/HTML Inline.tex b/tests/MMD6Tests/HTML Inline.tex
new file mode 100644 (file)
index 0000000..9566edf
--- /dev/null
@@ -0,0 +1,16 @@
+\emph{bar}
+
+\emph{bar}
+
+\begin{verbatim}
+<div>
+    foo
+</div>
+\end{verbatim}
+
+test. Comment 
+
+test. Comment 
+with
+multiple
+line.