From: Fletcher T. Penney Date: Wed, 19 Jul 2017 04:28:12 +0000 (-0400) Subject: ADDED: Add support for YAML metadata markers (---) X-Git-Tag: 6.2.0^2~32 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=3cf9adb27fe24f8532c44917d2d2a43c0d6bb430;p=multimarkdown ADDED: Add support for YAML metadata markers (---) --- diff --git a/Sources/libMultiMarkdown/fodt.c b/Sources/libMultiMarkdown/fodt.c index c6ad14e..b6ed66a 100644 --- a/Sources/libMultiMarkdown/fodt.c +++ b/Sources/libMultiMarkdown/fodt.c @@ -877,6 +877,7 @@ void mmd_export_token_odf(DString * out, const char * source, token * t, scratch case LINE_LIST_ENUMERATED: mmd_export_token_tree_odf(out, source, t->child, scratch); break; + case LINE_SETEXT_2: case MANUAL_LABEL: case MARKER_BLOCKQUOTE: case MARKER_H1: diff --git a/Sources/libMultiMarkdown/html.c b/Sources/libMultiMarkdown/html.c index 2e06bb0..c856e48 100644 --- a/Sources/libMultiMarkdown/html.c +++ b/Sources/libMultiMarkdown/html.c @@ -1015,6 +1015,7 @@ void mmd_export_token_html(DString * out, const char * source, token * t, scratc case LINE_LIST_ENUMERATED: mmd_export_token_tree_html(out, source, t->child, scratch); break; + case LINE_SETEXT_2: case MARKER_BLOCKQUOTE: case MARKER_H1: case MARKER_H2: diff --git a/Sources/libMultiMarkdown/latex.c b/Sources/libMultiMarkdown/latex.c index 8912c49..d32d6d4 100644 --- a/Sources/libMultiMarkdown/latex.c +++ b/Sources/libMultiMarkdown/latex.c @@ -952,8 +952,8 @@ void mmd_export_token_latex(DString * out, const char * source, token * t, scrat case LINE_LIST_ENUMERATED: mmd_export_token_tree_latex(out, source, t->child, scratch); break; + case LINE_SETEXT_2: case MANUAL_LABEL: - break; case MARKER_BLOCKQUOTE: case MARKER_H1: case MARKER_H2: diff --git a/Sources/libMultiMarkdown/mmd.c b/Sources/libMultiMarkdown/mmd.c index 227b2e6..76cf96f 100644 --- a/Sources/libMultiMarkdown/mmd.c +++ b/Sources/libMultiMarkdown/mmd.c @@ -915,6 +915,15 @@ token * mmd_tokenize_string(mmd_engine * e, size_t start, size_t len, bool stop_ token_append_child(root, line); + // If this is first line, do we have proper metadata? + if (e->allow_meta && root->child == line) { + if (line->type == LINE_SETEXT_2) { + line->type = LINE_YAML; + } else if (line->type != LINE_META) { + e->allow_meta = false; + } + } + if (stop_on_empty_line) { if (line->type == LINE_EMPTY) return root; @@ -1652,6 +1661,8 @@ void strip_line_tokens_from_metadata(mmd_engine * e, token * metadata) { d_string_append_c(d, '\n'); d_string_append_c_array(d, &source[l->start], l->len); break; + case LINE_YAML: + break; case LINE_TABLE: if (scan_meta_line(&source[l->start])) { goto meta; diff --git a/Sources/libMultiMarkdown/opendocument-content.c b/Sources/libMultiMarkdown/opendocument-content.c index 49ae54b..f1a95c8 100644 --- a/Sources/libMultiMarkdown/opendocument-content.c +++ b/Sources/libMultiMarkdown/opendocument-content.c @@ -995,6 +995,7 @@ void mmd_export_token_opendocument(DString * out, const char * source, token * t case LINE_LIST_ENUMERATED: mmd_export_token_tree_opendocument(out, source, t->child, scratch); break; + case LINE_SETEXT_2: case MANUAL_LABEL: case MARKER_BLOCKQUOTE: case MARKER_H1: diff --git a/Sources/libMultiMarkdown/parser.c b/Sources/libMultiMarkdown/parser.c index ebcf23c..6108ad5 100644 --- a/Sources/libMultiMarkdown/parser.c +++ b/Sources/libMultiMarkdown/parser.c @@ -92,7 +92,7 @@ #endif /************* Begin control #defines *****************************************/ #define YYCODETYPE unsigned char -#define YYNOCODE 90 +#define YYNOCODE 91 #define YYACTIONTYPE unsigned short int #define ParseTOKENTYPE token * typedef union { @@ -107,16 +107,16 @@ typedef union { #define ParseARG_FETCH mmd_engine * engine = yypParser->engine #define ParseARG_STORE yypParser->engine = engine #define YYFALLBACK 1 -#define YYNSTATE 45 -#define YYNRULE 152 -#define YY_MAX_SHIFT 44 -#define YY_MIN_SHIFTREDUCE 154 -#define YY_MAX_SHIFTREDUCE 305 -#define YY_MIN_REDUCE 306 -#define YY_MAX_REDUCE 457 -#define YY_ERROR_ACTION 458 -#define YY_ACCEPT_ACTION 459 -#define YY_NO_ACTION 460 +#define YYNSTATE 46 +#define YYNRULE 155 +#define YY_MAX_SHIFT 45 +#define YY_MIN_SHIFTREDUCE 157 +#define YY_MAX_SHIFTREDUCE 311 +#define YY_MIN_REDUCE 312 +#define YY_MAX_REDUCE 466 +#define YY_ERROR_ACTION 467 +#define YY_ACCEPT_ACTION 468 +#define YY_NO_ACTION 469 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -188,105 +188,105 @@ typedef union { ** yy_default[] Default action for each state. ** *********** Begin parsing tables **********************************************/ -#define YY_ACTTAB_COUNT (327) +#define YY_ACTTAB_COUNT (321) static const YYACTIONTYPE yy_action[] = { - /* 0 */ 459, 1, 156, 37, 166, 167, 168, 169, 170, 171, - /* 10 */ 44, 173, 29, 175, 31, 41, 40, 35, 14, 181, - /* 20 */ 182, 183, 43, 238, 13, 13, 31, 233, 234, 300, - /* 30 */ 304, 38, 38, 27, 43, 26, 25, 241, 28, 255, - /* 40 */ 41, 40, 262, 8, 30, 42, 244, 15, 15, 306, - /* 50 */ 163, 211, 5, 254, 16, 248, 249, 300, 304, 185, - /* 60 */ 279, 157, 158, 159, 160, 161, 162, 253, 7, 6, - /* 70 */ 17, 4, 3, 2, 18, 164, 5, 294, 245, 264, - /* 80 */ 267, 270, 265, 268, 271, 298, 262, 285, 163, 39, - /* 90 */ 39, 207, 16, 248, 249, 300, 304, 204, 279, 157, - /* 100 */ 158, 159, 160, 161, 162, 253, 7, 6, 17, 4, - /* 110 */ 3, 2, 18, 164, 5, 294, 244, 264, 267, 270, - /* 120 */ 265, 268, 271, 298, 262, 285, 155, 37, 166, 167, - /* 130 */ 168, 169, 170, 171, 44, 173, 29, 175, 31, 41, - /* 140 */ 40, 35, 14, 181, 182, 183, 300, 304, 245, 262, - /* 150 */ 31, 32, 32, 33, 33, 38, 38, 27, 218, 26, - /* 160 */ 25, 19, 28, 216, 41, 40, 30, 8, 219, 42, - /* 170 */ 184, 15, 15, 275, 231, 239, 272, 30, 190, 184, - /* 180 */ 21, 21, 274, 276, 275, 34, 34, 272, 5, 9, - /* 190 */ 9, 20, 20, 274, 276, 193, 193, 12, 43, 12, - /* 200 */ 13, 13, 212, 214, 210, 213, 215, 197, 278, 273, - /* 210 */ 277, 36, 36, 208, 205, 206, 209, 248, 249, 278, - /* 220 */ 273, 277, 275, 30, 282, 272, 296, 280, 237, 236, - /* 230 */ 30, 274, 276, 281, 283, 9, 9, 20, 20, 248, - /* 240 */ 249, 192, 192, 184, 24, 24, 6, 226, 200, 7, - /* 250 */ 295, 201, 202, 203, 30, 221, 237, 278, 273, 277, - /* 260 */ 308, 308, 200, 308, 30, 308, 9, 9, 20, 20, - /* 270 */ 220, 308, 191, 191, 30, 308, 9, 9, 20, 20, - /* 280 */ 308, 308, 198, 198, 308, 308, 10, 10, 22, 22, - /* 290 */ 289, 227, 30, 286, 308, 308, 308, 308, 308, 288, - /* 300 */ 290, 308, 308, 308, 11, 11, 23, 23, 308, 222, - /* 310 */ 308, 308, 308, 308, 308, 308, 308, 308, 308, 308, - /* 320 */ 308, 308, 308, 308, 308, 217, 287, + /* 0 */ 468, 1, 159, 37, 170, 171, 172, 173, 174, 175, + /* 10 */ 44, 177, 29, 179, 32, 41, 40, 30, 14, 186, + /* 20 */ 187, 188, 43, 244, 13, 13, 32, 43, 239, 240, + /* 30 */ 247, 38, 38, 27, 268, 26, 25, 216, 28, 212, + /* 40 */ 41, 40, 209, 8, 221, 42, 261, 15, 15, 312, + /* 50 */ 166, 306, 310, 45, 5, 16, 254, 255, 306, 310, + /* 60 */ 260, 285, 160, 161, 162, 163, 164, 165, 259, 7, + /* 70 */ 6, 17, 4, 3, 2, 18, 168, 5, 300, 223, + /* 80 */ 270, 273, 276, 271, 274, 277, 304, 268, 291, 166, + /* 90 */ 39, 39, 45, 236, 16, 254, 255, 306, 310, 19, + /* 100 */ 285, 160, 161, 162, 163, 164, 165, 259, 7, 6, + /* 110 */ 17, 4, 3, 2, 18, 168, 5, 300, 250, 270, + /* 120 */ 273, 276, 271, 274, 277, 304, 268, 291, 158, 37, + /* 130 */ 170, 171, 172, 173, 174, 175, 44, 177, 29, 179, + /* 140 */ 32, 41, 40, 30, 14, 186, 187, 188, 306, 310, + /* 150 */ 251, 268, 32, 224, 254, 255, 250, 38, 38, 27, + /* 160 */ 189, 26, 25, 184, 28, 302, 41, 40, 281, 8, + /* 170 */ 195, 42, 278, 15, 15, 33, 33, 245, 280, 282, + /* 180 */ 281, 34, 34, 5, 278, 205, 35, 35, 251, 301, + /* 190 */ 280, 282, 12, 43, 12, 13, 13, 202, 217, 219, + /* 200 */ 215, 218, 220, 6, 284, 279, 283, 36, 36, 31, + /* 210 */ 213, 210, 211, 214, 31, 281, 284, 279, 283, 278, + /* 220 */ 31, 9, 9, 20, 20, 280, 282, 198, 198, 190, + /* 230 */ 243, 242, 9, 9, 20, 20, 231, 7, 197, 197, + /* 240 */ 226, 243, 31, 254, 255, 206, 207, 208, 205, 237, + /* 250 */ 31, 284, 279, 283, 9, 9, 20, 20, 31, 314, + /* 260 */ 196, 196, 9, 9, 20, 20, 314, 31, 203, 203, + /* 270 */ 10, 10, 22, 22, 225, 232, 31, 314, 314, 11, + /* 280 */ 11, 23, 23, 295, 227, 31, 314, 292, 314, 189, + /* 290 */ 21, 21, 288, 294, 296, 314, 286, 314, 189, 24, + /* 300 */ 24, 314, 287, 289, 314, 314, 314, 314, 314, 314, + /* 310 */ 314, 314, 314, 314, 314, 314, 314, 314, 314, 222, + /* 320 */ 293, }; static const YYCODETYPE yy_lookahead[] = { - /* 0 */ 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, - /* 10 */ 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, - /* 20 */ 60, 61, 85, 86, 87, 88, 66, 2, 3, 8, - /* 30 */ 9, 71, 72, 73, 85, 75, 76, 88, 78, 4, - /* 40 */ 80, 81, 37, 83, 50, 85, 4, 87, 88, 0, - /* 50 */ 1, 74, 27, 18, 5, 6, 7, 8, 9, 65, - /* 60 */ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, - /* 70 */ 21, 22, 23, 24, 25, 26, 27, 28, 36, 30, - /* 80 */ 31, 32, 33, 34, 35, 36, 37, 38, 1, 71, - /* 90 */ 72, 74, 5, 6, 7, 8, 9, 74, 11, 12, - /* 100 */ 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, - /* 110 */ 23, 24, 25, 26, 27, 28, 4, 30, 31, 32, - /* 120 */ 33, 34, 35, 36, 37, 38, 42, 43, 44, 45, - /* 130 */ 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, - /* 140 */ 56, 57, 58, 59, 60, 61, 8, 9, 36, 37, - /* 150 */ 66, 62, 63, 62, 63, 71, 72, 73, 79, 75, - /* 160 */ 76, 66, 78, 77, 80, 81, 50, 83, 66, 85, - /* 170 */ 63, 87, 88, 1, 82, 37, 4, 50, 70, 63, - /* 180 */ 64, 65, 10, 11, 1, 62, 63, 4, 27, 62, - /* 190 */ 63, 64, 65, 10, 11, 68, 69, 84, 85, 86, - /* 200 */ 87, 88, 30, 31, 32, 33, 34, 72, 36, 37, - /* 210 */ 38, 62, 63, 30, 31, 32, 33, 6, 7, 36, - /* 220 */ 37, 38, 1, 50, 1, 4, 4, 4, 8, 9, - /* 230 */ 50, 10, 11, 10, 11, 62, 63, 64, 65, 6, - /* 240 */ 7, 68, 69, 63, 64, 65, 20, 81, 37, 19, - /* 250 */ 28, 30, 31, 32, 50, 80, 8, 36, 37, 38, - /* 260 */ 89, 89, 37, 89, 50, 89, 62, 63, 64, 65, - /* 270 */ 37, 89, 68, 69, 50, 89, 62, 63, 64, 65, - /* 280 */ 89, 89, 68, 69, 89, 89, 62, 63, 64, 65, - /* 290 */ 1, 67, 50, 4, 89, 89, 89, 89, 89, 10, - /* 300 */ 11, 89, 89, 89, 62, 63, 64, 65, 89, 67, - /* 310 */ 89, 89, 89, 89, 89, 89, 89, 89, 89, 89, - /* 320 */ 89, 89, 89, 89, 89, 36, 37, + /* 0 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, + /* 10 */ 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, + /* 20 */ 61, 62, 86, 87, 88, 89, 67, 86, 2, 3, + /* 30 */ 89, 72, 73, 74, 38, 76, 77, 75, 79, 75, + /* 40 */ 81, 82, 75, 84, 78, 86, 5, 88, 89, 0, + /* 50 */ 1, 9, 10, 4, 28, 6, 7, 8, 9, 10, + /* 60 */ 19, 12, 13, 14, 15, 16, 17, 18, 19, 20, + /* 70 */ 21, 22, 23, 24, 25, 26, 27, 28, 29, 80, + /* 80 */ 31, 32, 33, 34, 35, 36, 37, 38, 39, 1, + /* 90 */ 72, 73, 4, 83, 6, 7, 8, 9, 10, 67, + /* 100 */ 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, + /* 110 */ 22, 23, 24, 25, 26, 27, 28, 29, 5, 31, + /* 120 */ 32, 33, 34, 35, 36, 37, 38, 39, 43, 44, + /* 130 */ 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, + /* 140 */ 55, 56, 57, 58, 59, 60, 61, 62, 9, 10, + /* 150 */ 37, 38, 67, 67, 7, 8, 5, 72, 73, 74, + /* 160 */ 64, 76, 77, 3, 79, 5, 81, 82, 1, 84, + /* 170 */ 71, 86, 5, 88, 89, 63, 64, 38, 11, 12, + /* 180 */ 1, 63, 64, 28, 5, 38, 63, 64, 37, 29, + /* 190 */ 11, 12, 85, 86, 87, 88, 89, 73, 31, 32, + /* 200 */ 33, 34, 35, 21, 37, 38, 39, 63, 64, 51, + /* 210 */ 31, 32, 33, 34, 51, 1, 37, 38, 39, 5, + /* 220 */ 51, 63, 64, 65, 66, 11, 12, 69, 70, 66, + /* 230 */ 9, 10, 63, 64, 65, 66, 82, 20, 69, 70, + /* 240 */ 81, 9, 51, 7, 8, 31, 32, 33, 38, 29, + /* 250 */ 51, 37, 38, 39, 63, 64, 65, 66, 51, 90, + /* 260 */ 69, 70, 63, 64, 65, 66, 90, 51, 69, 70, + /* 270 */ 63, 64, 65, 66, 38, 68, 51, 90, 90, 63, + /* 280 */ 64, 65, 66, 1, 68, 51, 90, 5, 90, 64, + /* 290 */ 65, 66, 1, 11, 12, 90, 5, 90, 64, 65, + /* 300 */ 66, 90, 11, 12, 90, 90, 90, 90, 90, 90, + /* 310 */ 90, 90, 90, 90, 90, 90, 90, 90, 90, 37, + /* 320 */ 38, }; -#define YY_SHIFT_USE_DFLT (327) -#define YY_SHIFT_COUNT (44) -#define YY_SHIFT_MIN (0) -#define YY_SHIFT_MAX (289) -static const unsigned short int yy_shift_ofst[] = { - /* 0 */ 87, 49, 112, 112, 112, 112, 112, 112, 21, 112, - /* 10 */ 112, 112, 21, 138, 25, 21, 42, 42, 42, 42, - /* 20 */ 5, 5, 5, 5, 5, 172, 183, 221, 289, 223, - /* 30 */ 211, 233, 42, 42, 42, 222, 42, 35, 161, 161, - /* 40 */ 226, 230, 220, 248, 225, +#define YY_SHIFT_USE_DFLT (321) +#define YY_SHIFT_COUNT (45) +#define YY_SHIFT_MIN (-4) +#define YY_SHIFT_MAX (291) +static const short yy_shift_ofst[] = { + /* 0 */ 88, 49, 113, 113, 113, 113, 113, 113, 42, 113, + /* 10 */ 113, 113, 42, 139, 26, 42, 151, 151, 151, 151, + /* 20 */ -4, -4, -4, -4, -4, 167, 179, 214, 282, 291, + /* 30 */ 160, 147, 236, 151, 151, 151, 151, 41, 155, 155, + /* 40 */ 182, 217, 221, 232, 210, 220, }; -#define YY_REDUCE_USE_DFLT (-64) +#define YY_REDUCE_USE_DFLT (-65) #define YY_REDUCE_COUNT (41) -#define YY_REDUCE_MIN (-63) -#define YY_REDUCE_MAX (242) +#define YY_REDUCE_MIN (-64) +#define YY_REDUCE_MAX (234) static const short yy_reduce_ofst[] = { - /* 0 */ -40, 84, 127, 173, 204, 214, 224, 242, 113, 116, - /* 10 */ 180, 180, -63, -51, 18, -51, 89, 91, 123, 149, - /* 20 */ -6, -6, -6, -6, -6, -23, 17, 23, 79, 86, - /* 30 */ 95, 102, 107, 107, 107, 92, 107, 108, 135, 135, - /* 40 */ 166, 175, + /* 0 */ -41, 85, 158, 169, 191, 199, 207, 216, 107, 225, + /* 10 */ 234, 234, -64, -59, 18, -59, 112, 118, 123, 144, + /* 20 */ 163, 163, 163, 163, 163, -38, -36, -33, -1, -34, + /* 30 */ 10, 32, 86, 96, 96, 96, 96, 99, 124, 124, + /* 40 */ 154, 159, }; static const YYACTIONTYPE yy_default[] = { - /* 0 */ 458, 458, 410, 409, 408, 351, 382, 377, 451, 402, - /* 10 */ 380, 375, 387, 392, 332, 394, 449, 412, 411, 339, - /* 20 */ 404, 341, 381, 376, 340, 421, 418, 415, 436, 326, - /* 30 */ 399, 328, 384, 347, 346, 331, 338, 317, 457, 348, - /* 40 */ 330, 329, 455, 455, 324, + /* 0 */ 467, 467, 419, 418, 417, 359, 390, 385, 460, 411, + /* 10 */ 388, 383, 396, 401, 340, 403, 458, 421, 420, 347, + /* 20 */ 413, 349, 389, 384, 348, 430, 427, 424, 445, 333, + /* 30 */ 338, 408, 335, 393, 355, 354, 346, 324, 466, 356, + /* 40 */ 337, 336, 464, 464, 331, 322, }; /********** End of lemon-generated parsing tables *****************************/ @@ -310,38 +310,39 @@ static const YYCODETYPE yyFallback[] = { 0, /* LINE_HR => nothing */ 1, /* LINE_SETEXT_1 => LINE_HR */ 1, /* LINE_SETEXT_2 => LINE_HR */ + 1, /* LINE_YAML => LINE_HR */ 0, /* LINE_CONTINUATION => nothing */ - 4, /* LINE_PLAIN => LINE_CONTINUATION */ - 4, /* LINE_INDENTED_TAB => LINE_CONTINUATION */ - 4, /* LINE_INDENTED_SPACE => LINE_CONTINUATION */ - 4, /* LINE_TABLE => LINE_CONTINUATION */ - 4, /* LINE_TABLE_SEPARATOR => LINE_CONTINUATION */ + 5, /* LINE_PLAIN => LINE_CONTINUATION */ + 5, /* LINE_INDENTED_TAB => LINE_CONTINUATION */ + 5, /* LINE_INDENTED_SPACE => LINE_CONTINUATION */ + 5, /* LINE_TABLE => LINE_CONTINUATION */ + 5, /* LINE_TABLE_SEPARATOR => LINE_CONTINUATION */ 0, /* LINE_FALLBACK => nothing */ - 10, /* LINE_HTML => LINE_FALLBACK */ - 10, /* LINE_ATX_1 => LINE_FALLBACK */ - 10, /* LINE_ATX_2 => LINE_FALLBACK */ - 10, /* LINE_ATX_3 => LINE_FALLBACK */ - 10, /* LINE_ATX_4 => LINE_FALLBACK */ - 10, /* LINE_ATX_5 => LINE_FALLBACK */ - 10, /* LINE_ATX_6 => LINE_FALLBACK */ - 10, /* LINE_BLOCKQUOTE => LINE_FALLBACK */ - 10, /* LINE_LIST_BULLETED => LINE_FALLBACK */ - 10, /* LINE_LIST_ENUMERATED => LINE_FALLBACK */ - 10, /* LINE_DEF_ABBREVIATION => LINE_FALLBACK */ - 10, /* LINE_DEF_CITATION => LINE_FALLBACK */ - 10, /* LINE_DEF_FOOTNOTE => LINE_FALLBACK */ - 10, /* LINE_DEF_GLOSSARY => LINE_FALLBACK */ - 10, /* LINE_DEF_LINK => LINE_FALLBACK */ - 10, /* LINE_TOC => LINE_FALLBACK */ - 10, /* LINE_DEFINITION => LINE_FALLBACK */ - 10, /* LINE_META => LINE_FALLBACK */ + 11, /* LINE_HTML => LINE_FALLBACK */ + 11, /* LINE_ATX_1 => LINE_FALLBACK */ + 11, /* LINE_ATX_2 => LINE_FALLBACK */ + 11, /* LINE_ATX_3 => LINE_FALLBACK */ + 11, /* LINE_ATX_4 => LINE_FALLBACK */ + 11, /* LINE_ATX_5 => LINE_FALLBACK */ + 11, /* LINE_ATX_6 => LINE_FALLBACK */ + 11, /* LINE_BLOCKQUOTE => LINE_FALLBACK */ + 11, /* LINE_LIST_BULLETED => LINE_FALLBACK */ + 11, /* LINE_LIST_ENUMERATED => LINE_FALLBACK */ + 11, /* LINE_DEF_ABBREVIATION => LINE_FALLBACK */ + 11, /* LINE_DEF_CITATION => LINE_FALLBACK */ + 11, /* LINE_DEF_FOOTNOTE => LINE_FALLBACK */ + 11, /* LINE_DEF_GLOSSARY => LINE_FALLBACK */ + 11, /* LINE_DEF_LINK => LINE_FALLBACK */ + 11, /* LINE_TOC => LINE_FALLBACK */ + 11, /* LINE_DEFINITION => LINE_FALLBACK */ + 11, /* LINE_META => LINE_FALLBACK */ 0, /* LINE_BACKTICK => nothing */ - 29, /* LINE_FENCE_BACKTICK_3 => LINE_BACKTICK */ - 29, /* LINE_FENCE_BACKTICK_4 => LINE_BACKTICK */ - 29, /* LINE_FENCE_BACKTICK_5 => LINE_BACKTICK */ - 29, /* LINE_FENCE_BACKTICK_START_3 => LINE_BACKTICK */ - 29, /* LINE_FENCE_BACKTICK_START_4 => LINE_BACKTICK */ - 29, /* LINE_FENCE_BACKTICK_START_5 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_3 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_4 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_5 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_START_3 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_START_4 => LINE_BACKTICK */ + 30, /* LINE_FENCE_BACKTICK_START_5 => LINE_BACKTICK */ }; #endif /* YYFALLBACK */ @@ -428,28 +429,28 @@ void ParseTrace(FILE *TraceFILE, char *zTracePrompt){ ** are required. The following table supplies these names */ static const char *const yyTokenName[] = { "$", "LINE_HR", "LINE_SETEXT_1", "LINE_SETEXT_2", - "LINE_CONTINUATION", "LINE_PLAIN", "LINE_INDENTED_TAB", "LINE_INDENTED_SPACE", - "LINE_TABLE", "LINE_TABLE_SEPARATOR", "LINE_FALLBACK", "LINE_HTML", - "LINE_ATX_1", "LINE_ATX_2", "LINE_ATX_3", "LINE_ATX_4", - "LINE_ATX_5", "LINE_ATX_6", "LINE_BLOCKQUOTE", "LINE_LIST_BULLETED", - "LINE_LIST_ENUMERATED", "LINE_DEF_ABBREVIATION", "LINE_DEF_CITATION", "LINE_DEF_FOOTNOTE", - "LINE_DEF_GLOSSARY", "LINE_DEF_LINK", "LINE_TOC", "LINE_DEFINITION", - "LINE_META", "LINE_BACKTICK", "LINE_FENCE_BACKTICK_3", "LINE_FENCE_BACKTICK_4", - "LINE_FENCE_BACKTICK_5", "LINE_FENCE_BACKTICK_START_3", "LINE_FENCE_BACKTICK_START_4", "LINE_FENCE_BACKTICK_START_5", - "LINE_STOP_COMMENT", "LINE_EMPTY", "LINE_START_COMMENT", "error", - "doc", "blocks", "block", "blockquote", - "def_abbreviation", "def_citation", "def_footnote", "def_glossary", - "def_link", "definition_block", "empty", "fenced_block", - "html_block", "html_com_block", "indented_code", "list_bullet", - "list_enum", "meta_block", "para", "setext_1", - "setext_2", "table", "chunk", "chunk_line", - "nested_chunks", "nested_chunk", "indented_line", "ext_chunk", - "opt_ext_chunk", "tail", "quote_line", "defs", - "def", "fenced_3", "fenced_line", "fenced_4", - "fenced_5", "html_line", "html_comment", "comment_line", - "item_bullet", "item_enum", "meta_line", "table_header", - "table_body", "header_rows", "table_section", "all_rows", - "row", + "LINE_YAML", "LINE_CONTINUATION", "LINE_PLAIN", "LINE_INDENTED_TAB", + "LINE_INDENTED_SPACE", "LINE_TABLE", "LINE_TABLE_SEPARATOR", "LINE_FALLBACK", + "LINE_HTML", "LINE_ATX_1", "LINE_ATX_2", "LINE_ATX_3", + "LINE_ATX_4", "LINE_ATX_5", "LINE_ATX_6", "LINE_BLOCKQUOTE", + "LINE_LIST_BULLETED", "LINE_LIST_ENUMERATED", "LINE_DEF_ABBREVIATION", "LINE_DEF_CITATION", + "LINE_DEF_FOOTNOTE", "LINE_DEF_GLOSSARY", "LINE_DEF_LINK", "LINE_TOC", + "LINE_DEFINITION", "LINE_META", "LINE_BACKTICK", "LINE_FENCE_BACKTICK_3", + "LINE_FENCE_BACKTICK_4", "LINE_FENCE_BACKTICK_5", "LINE_FENCE_BACKTICK_START_3", "LINE_FENCE_BACKTICK_START_4", + "LINE_FENCE_BACKTICK_START_5", "LINE_STOP_COMMENT", "LINE_EMPTY", "LINE_START_COMMENT", + "error", "doc", "blocks", "block", + "blockquote", "def_abbreviation", "def_citation", "def_footnote", + "def_glossary", "def_link", "definition_block", "empty", + "fenced_block", "html_block", "html_com_block", "indented_code", + "list_bullet", "list_enum", "meta_block", "para", + "setext_1", "setext_2", "table", "chunk", + "chunk_line", "nested_chunks", "nested_chunk", "indented_line", + "ext_chunk", "opt_ext_chunk", "tail", "quote_line", + "defs", "def", "fenced_3", "fenced_line", + "fenced_4", "fenced_5", "html_line", "html_comment", + "comment_line", "item_bullet", "item_enum", "meta_line", + "table_header", "table_body", "header_rows", "table_section", + "all_rows", "row", }; #endif /* NDEBUG */ @@ -467,148 +468,151 @@ static const char *const yyRuleName[] = { /* 7 */ "block ::= LINE_ATX_5", /* 8 */ "block ::= LINE_ATX_6", /* 9 */ "block ::= LINE_HR", - /* 10 */ "block ::= LINE_TOC", - /* 11 */ "block ::= blockquote", - /* 12 */ "block ::= def_abbreviation", - /* 13 */ "block ::= def_citation", - /* 14 */ "block ::= def_footnote", - /* 15 */ "block ::= def_glossary", - /* 16 */ "block ::= def_link", - /* 17 */ "block ::= definition_block", - /* 18 */ "block ::= empty", - /* 19 */ "block ::= fenced_block", - /* 20 */ "block ::= html_block", - /* 21 */ "block ::= html_com_block", - /* 22 */ "block ::= indented_code", - /* 23 */ "block ::= list_bullet", - /* 24 */ "block ::= list_enum", - /* 25 */ "block ::= meta_block", - /* 26 */ "block ::= para", - /* 27 */ "block ::= setext_1", - /* 28 */ "block ::= setext_2", - /* 29 */ "block ::= table", - /* 30 */ "chunk ::= chunk chunk_line", - /* 31 */ "nested_chunks ::= nested_chunks nested_chunk", - /* 32 */ "nested_chunk ::= empty indented_line chunk", - /* 33 */ "nested_chunk ::= empty indented_line", - /* 34 */ "ext_chunk ::= chunk nested_chunks", - /* 35 */ "opt_ext_chunk ::= chunk nested_chunks", - /* 36 */ "blockquote ::= blockquote quote_line", - /* 37 */ "def_citation ::= LINE_DEF_CITATION tail", - /* 38 */ "def_footnote ::= LINE_DEF_FOOTNOTE tail", - /* 39 */ "def_glossary ::= LINE_DEF_GLOSSARY tail", - /* 40 */ "def_link ::= LINE_DEF_LINK chunk", - /* 41 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION chunk", - /* 42 */ "definition_block ::= para defs", - /* 43 */ "defs ::= defs def", - /* 44 */ "def ::= LINE_DEFINITION tail", - /* 45 */ "def ::= LINE_DEFINITION", - /* 46 */ "empty ::= empty LINE_EMPTY", - /* 47 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3", - /* 48 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4", - /* 49 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5", - /* 50 */ "fenced_3 ::= fenced_3 fenced_line", - /* 51 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4", - /* 52 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5", - /* 53 */ "fenced_4 ::= fenced_4 fenced_line", - /* 54 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3", - /* 55 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3", - /* 56 */ "fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5", - /* 57 */ "fenced_5 ::= fenced_5 fenced_line", - /* 58 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3", - /* 59 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3", - /* 60 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4", - /* 61 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4", - /* 62 */ "html_block ::= html_block html_line", - /* 63 */ "html_com_block ::= html_comment LINE_STOP_COMMENT", - /* 64 */ "html_comment ::= html_comment comment_line", - /* 65 */ "indented_code ::= indented_code indented_line", - /* 66 */ "indented_code ::= indented_code LINE_EMPTY", - /* 67 */ "list_bullet ::= list_bullet item_bullet", - /* 68 */ "item_bullet ::= LINE_LIST_BULLETED ext_chunk", - /* 69 */ "item_bullet ::= LINE_LIST_BULLETED chunk", - /* 70 */ "item_bullet ::= LINE_LIST_BULLETED nested_chunks", - /* 71 */ "item_bullet ::= LINE_LIST_BULLETED", - /* 72 */ "list_enum ::= list_enum item_enum", - /* 73 */ "item_enum ::= LINE_LIST_ENUMERATED ext_chunk", - /* 74 */ "item_enum ::= LINE_LIST_ENUMERATED chunk", - /* 75 */ "item_enum ::= LINE_LIST_ENUMERATED nested_chunks", - /* 76 */ "item_enum ::= LINE_LIST_ENUMERATED", - /* 77 */ "meta_block ::= meta_block meta_line", - /* 78 */ "para ::= LINE_PLAIN chunk", - /* 79 */ "setext_1 ::= para LINE_SETEXT_1", - /* 80 */ "setext_2 ::= para LINE_SETEXT_2", - /* 81 */ "table ::= table_header table_body", - /* 82 */ "table_header ::= header_rows LINE_TABLE_SEPARATOR", - /* 83 */ "header_rows ::= header_rows LINE_TABLE", - /* 84 */ "table_body ::= table_body table_section", - /* 85 */ "table_section ::= all_rows LINE_EMPTY", - /* 86 */ "table_section ::= all_rows", - /* 87 */ "all_rows ::= all_rows row", - /* 88 */ "para ::= all_rows", - /* 89 */ "chunk ::= chunk_line", - /* 90 */ "chunk_line ::= LINE_CONTINUATION", - /* 91 */ "chunk_line ::= LINE_STOP_COMMENT", - /* 92 */ "nested_chunks ::= nested_chunk", - /* 93 */ "nested_chunk ::= empty", - /* 94 */ "indented_line ::= LINE_INDENTED_TAB", - /* 95 */ "indented_line ::= LINE_INDENTED_SPACE", - /* 96 */ "opt_ext_chunk ::= chunk", - /* 97 */ "tail ::= opt_ext_chunk", - /* 98 */ "tail ::= nested_chunks", - /* 99 */ "blockquote ::= LINE_BLOCKQUOTE", - /* 100 */ "quote_line ::= LINE_BLOCKQUOTE", - /* 101 */ "quote_line ::= LINE_CONTINUATION", - /* 102 */ "def_citation ::= LINE_DEF_CITATION", - /* 103 */ "def_footnote ::= LINE_DEF_FOOTNOTE", - /* 104 */ "def_glossary ::= LINE_DEF_GLOSSARY", - /* 105 */ "def_link ::= LINE_DEF_LINK", - /* 106 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION", - /* 107 */ "defs ::= def", - /* 108 */ "empty ::= LINE_EMPTY", - /* 109 */ "fenced_block ::= fenced_3", - /* 110 */ "fenced_3 ::= LINE_FENCE_BACKTICK_3", - /* 111 */ "fenced_3 ::= LINE_FENCE_BACKTICK_START_3", - /* 112 */ "fenced_block ::= fenced_4", - /* 113 */ "fenced_4 ::= LINE_FENCE_BACKTICK_4", - /* 114 */ "fenced_4 ::= LINE_FENCE_BACKTICK_START_4", - /* 115 */ "fenced_block ::= fenced_5", - /* 116 */ "fenced_5 ::= LINE_FENCE_BACKTICK_5", - /* 117 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5", - /* 118 */ "fenced_line ::= LINE_CONTINUATION", - /* 119 */ "fenced_line ::= LINE_EMPTY", - /* 120 */ "fenced_line ::= LINE_FALLBACK", - /* 121 */ "fenced_line ::= LINE_HR", - /* 122 */ "fenced_line ::= LINE_HTML", - /* 123 */ "fenced_line ::= LINE_START_COMMENT", - /* 124 */ "fenced_line ::= LINE_STOP_COMMENT", - /* 125 */ "html_block ::= LINE_HTML", - /* 126 */ "html_line ::= LINE_CONTINUATION", - /* 127 */ "html_line ::= LINE_FALLBACK", - /* 128 */ "html_line ::= LINE_HR", - /* 129 */ "html_line ::= LINE_HTML", - /* 130 */ "html_com_block ::= html_comment", - /* 131 */ "html_comment ::= LINE_START_COMMENT", - /* 132 */ "comment_line ::= LINE_CONTINUATION", - /* 133 */ "comment_line ::= LINE_EMPTY", - /* 134 */ "comment_line ::= LINE_FALLBACK", - /* 135 */ "comment_line ::= LINE_HR", - /* 136 */ "comment_line ::= LINE_HTML", - /* 137 */ "indented_code ::= indented_line", - /* 138 */ "list_bullet ::= item_bullet", - /* 139 */ "list_enum ::= item_enum", - /* 140 */ "meta_block ::= LINE_META", - /* 141 */ "meta_line ::= LINE_META", - /* 142 */ "meta_line ::= LINE_CONTINUATION", - /* 143 */ "para ::= LINE_PLAIN", - /* 144 */ "para ::= LINE_STOP_COMMENT", - /* 145 */ "table ::= table_header", - /* 146 */ "header_rows ::= LINE_TABLE", - /* 147 */ "table_body ::= table_section", - /* 148 */ "all_rows ::= row", - /* 149 */ "row ::= header_rows", - /* 150 */ "row ::= LINE_TABLE_SEPARATOR", - /* 151 */ "para ::= defs", + /* 10 */ "block ::= LINE_YAML", + /* 11 */ "block ::= LINE_TOC", + /* 12 */ "block ::= blockquote", + /* 13 */ "block ::= def_abbreviation", + /* 14 */ "block ::= def_citation", + /* 15 */ "block ::= def_footnote", + /* 16 */ "block ::= def_glossary", + /* 17 */ "block ::= def_link", + /* 18 */ "block ::= definition_block", + /* 19 */ "block ::= empty", + /* 20 */ "block ::= fenced_block", + /* 21 */ "block ::= html_block", + /* 22 */ "block ::= html_com_block", + /* 23 */ "block ::= indented_code", + /* 24 */ "block ::= list_bullet", + /* 25 */ "block ::= list_enum", + /* 26 */ "block ::= meta_block", + /* 27 */ "block ::= meta_block LINE_SETEXT_2", + /* 28 */ "block ::= para", + /* 29 */ "block ::= setext_1", + /* 30 */ "block ::= setext_2", + /* 31 */ "block ::= table", + /* 32 */ "chunk ::= chunk chunk_line", + /* 33 */ "nested_chunks ::= nested_chunks nested_chunk", + /* 34 */ "nested_chunk ::= empty indented_line chunk", + /* 35 */ "nested_chunk ::= empty indented_line", + /* 36 */ "ext_chunk ::= chunk nested_chunks", + /* 37 */ "opt_ext_chunk ::= chunk nested_chunks", + /* 38 */ "blockquote ::= blockquote quote_line", + /* 39 */ "def_citation ::= LINE_DEF_CITATION tail", + /* 40 */ "def_footnote ::= LINE_DEF_FOOTNOTE tail", + /* 41 */ "def_glossary ::= LINE_DEF_GLOSSARY tail", + /* 42 */ "def_link ::= LINE_DEF_LINK chunk", + /* 43 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION chunk", + /* 44 */ "definition_block ::= para defs", + /* 45 */ "defs ::= defs def", + /* 46 */ "def ::= LINE_DEFINITION tail", + /* 47 */ "def ::= LINE_DEFINITION", + /* 48 */ "empty ::= empty LINE_EMPTY", + /* 49 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3", + /* 50 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4", + /* 51 */ "fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5", + /* 52 */ "fenced_3 ::= fenced_3 fenced_line", + /* 53 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4", + /* 54 */ "fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5", + /* 55 */ "fenced_4 ::= fenced_4 fenced_line", + /* 56 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3", + /* 57 */ "fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3", + /* 58 */ "fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5", + /* 59 */ "fenced_5 ::= fenced_5 fenced_line", + /* 60 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3", + /* 61 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3", + /* 62 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4", + /* 63 */ "fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4", + /* 64 */ "html_block ::= html_block html_line", + /* 65 */ "html_com_block ::= html_comment LINE_STOP_COMMENT", + /* 66 */ "html_comment ::= html_comment comment_line", + /* 67 */ "indented_code ::= indented_code indented_line", + /* 68 */ "indented_code ::= indented_code LINE_EMPTY", + /* 69 */ "list_bullet ::= list_bullet item_bullet", + /* 70 */ "item_bullet ::= LINE_LIST_BULLETED ext_chunk", + /* 71 */ "item_bullet ::= LINE_LIST_BULLETED chunk", + /* 72 */ "item_bullet ::= LINE_LIST_BULLETED nested_chunks", + /* 73 */ "item_bullet ::= LINE_LIST_BULLETED", + /* 74 */ "list_enum ::= list_enum item_enum", + /* 75 */ "item_enum ::= LINE_LIST_ENUMERATED ext_chunk", + /* 76 */ "item_enum ::= LINE_LIST_ENUMERATED chunk", + /* 77 */ "item_enum ::= LINE_LIST_ENUMERATED nested_chunks", + /* 78 */ "item_enum ::= LINE_LIST_ENUMERATED", + /* 79 */ "meta_block ::= meta_block meta_line", + /* 80 */ "meta_block ::= LINE_YAML LINE_META", + /* 81 */ "para ::= LINE_PLAIN chunk", + /* 82 */ "setext_1 ::= para LINE_SETEXT_1", + /* 83 */ "setext_2 ::= para LINE_SETEXT_2", + /* 84 */ "table ::= table_header table_body", + /* 85 */ "table_header ::= header_rows LINE_TABLE_SEPARATOR", + /* 86 */ "header_rows ::= header_rows LINE_TABLE", + /* 87 */ "table_body ::= table_body table_section", + /* 88 */ "table_section ::= all_rows LINE_EMPTY", + /* 89 */ "table_section ::= all_rows", + /* 90 */ "all_rows ::= all_rows row", + /* 91 */ "para ::= all_rows", + /* 92 */ "chunk ::= chunk_line", + /* 93 */ "chunk_line ::= LINE_CONTINUATION", + /* 94 */ "chunk_line ::= LINE_STOP_COMMENT", + /* 95 */ "nested_chunks ::= nested_chunk", + /* 96 */ "nested_chunk ::= empty", + /* 97 */ "indented_line ::= LINE_INDENTED_TAB", + /* 98 */ "indented_line ::= LINE_INDENTED_SPACE", + /* 99 */ "opt_ext_chunk ::= chunk", + /* 100 */ "tail ::= opt_ext_chunk", + /* 101 */ "tail ::= nested_chunks", + /* 102 */ "blockquote ::= LINE_BLOCKQUOTE", + /* 103 */ "quote_line ::= LINE_BLOCKQUOTE", + /* 104 */ "quote_line ::= LINE_CONTINUATION", + /* 105 */ "def_citation ::= LINE_DEF_CITATION", + /* 106 */ "def_footnote ::= LINE_DEF_FOOTNOTE", + /* 107 */ "def_glossary ::= LINE_DEF_GLOSSARY", + /* 108 */ "def_link ::= LINE_DEF_LINK", + /* 109 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION", + /* 110 */ "defs ::= def", + /* 111 */ "empty ::= LINE_EMPTY", + /* 112 */ "fenced_block ::= fenced_3", + /* 113 */ "fenced_3 ::= LINE_FENCE_BACKTICK_3", + /* 114 */ "fenced_3 ::= LINE_FENCE_BACKTICK_START_3", + /* 115 */ "fenced_block ::= fenced_4", + /* 116 */ "fenced_4 ::= LINE_FENCE_BACKTICK_4", + /* 117 */ "fenced_4 ::= LINE_FENCE_BACKTICK_START_4", + /* 118 */ "fenced_block ::= fenced_5", + /* 119 */ "fenced_5 ::= LINE_FENCE_BACKTICK_5", + /* 120 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5", + /* 121 */ "fenced_line ::= LINE_CONTINUATION", + /* 122 */ "fenced_line ::= LINE_EMPTY", + /* 123 */ "fenced_line ::= LINE_FALLBACK", + /* 124 */ "fenced_line ::= LINE_HR", + /* 125 */ "fenced_line ::= LINE_HTML", + /* 126 */ "fenced_line ::= LINE_START_COMMENT", + /* 127 */ "fenced_line ::= LINE_STOP_COMMENT", + /* 128 */ "html_block ::= LINE_HTML", + /* 129 */ "html_line ::= LINE_CONTINUATION", + /* 130 */ "html_line ::= LINE_FALLBACK", + /* 131 */ "html_line ::= LINE_HR", + /* 132 */ "html_line ::= LINE_HTML", + /* 133 */ "html_com_block ::= html_comment", + /* 134 */ "html_comment ::= LINE_START_COMMENT", + /* 135 */ "comment_line ::= LINE_CONTINUATION", + /* 136 */ "comment_line ::= LINE_EMPTY", + /* 137 */ "comment_line ::= LINE_FALLBACK", + /* 138 */ "comment_line ::= LINE_HR", + /* 139 */ "comment_line ::= LINE_HTML", + /* 140 */ "indented_code ::= indented_line", + /* 141 */ "list_bullet ::= item_bullet", + /* 142 */ "list_enum ::= item_enum", + /* 143 */ "meta_block ::= LINE_META", + /* 144 */ "meta_line ::= LINE_META", + /* 145 */ "meta_line ::= LINE_CONTINUATION", + /* 146 */ "para ::= LINE_PLAIN", + /* 147 */ "para ::= LINE_STOP_COMMENT", + /* 148 */ "table ::= table_header", + /* 149 */ "header_rows ::= LINE_TABLE", + /* 150 */ "table_body ::= table_section", + /* 151 */ "all_rows ::= row", + /* 152 */ "row ::= header_rows", + /* 153 */ "row ::= LINE_TABLE_SEPARATOR", + /* 154 */ "para ::= defs", }; #endif /* NDEBUG */ @@ -957,158 +961,161 @@ static const struct { YYCODETYPE lhs; /* Symbol on the left-hand side of the rule */ unsigned char nrhs; /* Number of right-hand side symbols in the rule */ } yyRuleInfo[] = { - { 40, 1 }, - { 41, 2 }, { 41, 1 }, + { 42, 2 }, { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 42, 1 }, - { 62, 2 }, - { 64, 2 }, - { 65, 3 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 2 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 43, 1 }, + { 63, 2 }, { 65, 2 }, - { 67, 2 }, + { 66, 3 }, + { 66, 2 }, { 68, 2 }, - { 43, 2 }, - { 45, 2 }, + { 69, 2 }, + { 44, 2 }, { 46, 2 }, { 47, 2 }, { 48, 2 }, - { 44, 2 }, { 49, 2 }, - { 71, 2 }, - { 72, 2 }, - { 72, 1 }, + { 45, 2 }, { 50, 2 }, - { 51, 2 }, - { 51, 2 }, - { 51, 2 }, + { 72, 2 }, { 73, 2 }, + { 73, 1 }, { 51, 2 }, - { 51, 2 }, - { 75, 2 }, - { 75, 2 }, - { 75, 2 }, - { 51, 2 }, - { 76, 2 }, - { 76, 2 }, + { 52, 2 }, + { 52, 2 }, + { 52, 2 }, + { 74, 2 }, + { 52, 2 }, + { 52, 2 }, { 76, 2 }, { 76, 2 }, { 76, 2 }, { 52, 2 }, + { 77, 2 }, + { 77, 2 }, + { 77, 2 }, + { 77, 2 }, + { 77, 2 }, { 53, 2 }, - { 78, 2 }, - { 54, 2 }, { 54, 2 }, + { 79, 2 }, + { 55, 2 }, { 55, 2 }, - { 80, 2 }, - { 80, 2 }, - { 80, 2 }, - { 80, 1 }, { 56, 2 }, { 81, 2 }, { 81, 2 }, { 81, 2 }, { 81, 1 }, { 57, 2 }, + { 82, 2 }, + { 82, 2 }, + { 82, 2 }, + { 82, 1 }, + { 58, 2 }, { 58, 2 }, { 59, 2 }, { 60, 2 }, { 61, 2 }, - { 83, 2 }, - { 85, 2 }, + { 62, 2 }, { 84, 2 }, { 86, 2 }, - { 86, 1 }, + { 85, 2 }, { 87, 2 }, - { 58, 1 }, - { 62, 1 }, - { 63, 1 }, + { 87, 1 }, + { 88, 2 }, + { 59, 1 }, { 63, 1 }, { 64, 1 }, + { 64, 1 }, { 65, 1 }, { 66, 1 }, - { 66, 1 }, - { 68, 1 }, - { 69, 1 }, + { 67, 1 }, + { 67, 1 }, { 69, 1 }, - { 43, 1 }, { 70, 1 }, { 70, 1 }, - { 45, 1 }, + { 44, 1 }, + { 71, 1 }, + { 71, 1 }, { 46, 1 }, { 47, 1 }, { 48, 1 }, - { 44, 1 }, - { 71, 1 }, - { 50, 1 }, - { 51, 1 }, - { 73, 1 }, - { 73, 1 }, - { 51, 1 }, - { 75, 1 }, - { 75, 1 }, + { 49, 1 }, + { 45, 1 }, + { 72, 1 }, { 51, 1 }, - { 76, 1 }, - { 76, 1 }, - { 74, 1 }, - { 74, 1 }, - { 74, 1 }, - { 74, 1 }, - { 74, 1 }, + { 52, 1 }, { 74, 1 }, { 74, 1 }, { 52, 1 }, + { 76, 1 }, + { 76, 1 }, + { 52, 1 }, { 77, 1 }, { 77, 1 }, - { 77, 1 }, - { 77, 1 }, + { 75, 1 }, + { 75, 1 }, + { 75, 1 }, + { 75, 1 }, + { 75, 1 }, + { 75, 1 }, + { 75, 1 }, { 53, 1 }, { 78, 1 }, - { 79, 1 }, - { 79, 1 }, - { 79, 1 }, - { 79, 1 }, - { 79, 1 }, + { 78, 1 }, + { 78, 1 }, + { 78, 1 }, { 54, 1 }, + { 79, 1 }, + { 80, 1 }, + { 80, 1 }, + { 80, 1 }, + { 80, 1 }, + { 80, 1 }, { 55, 1 }, { 56, 1 }, { 57, 1 }, - { 82, 1 }, - { 82, 1 }, - { 58, 1 }, { 58, 1 }, - { 61, 1 }, + { 83, 1 }, + { 83, 1 }, + { 59, 1 }, + { 59, 1 }, + { 62, 1 }, + { 86, 1 }, { 85, 1 }, - { 84, 1 }, - { 87, 1 }, { 88, 1 }, - { 88, 1 }, - { 58, 1 }, + { 89, 1 }, + { 89, 1 }, + { 59, 1 }, }; static void yy_accept(yyParser*); /* Forward Declaration */ @@ -1223,251 +1230,257 @@ static void yy_reduce( yymsp[0].minor.yy0 = yylhsminor.yy0; break; case 9: /* block ::= LINE_HR */ + case 10: /* block ::= LINE_YAML */ yytestcase(yyruleno==10); { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_HR); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 10: /* block ::= LINE_TOC */ + case 11: /* block ::= LINE_TOC */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TOC); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 11: /* block ::= blockquote */ + case 12: /* block ::= blockquote */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_BLOCKQUOTE); recursive_parse_blockquote(engine, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 12: /* block ::= def_abbreviation */ + case 13: /* block ::= def_abbreviation */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEF_ABBREVIATION); stack_push(engine->definition_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 13: /* block ::= def_citation */ + case 14: /* block ::= def_citation */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEF_CITATION); stack_push(engine->definition_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 14: /* block ::= def_footnote */ + case 15: /* block ::= def_footnote */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEF_FOOTNOTE); stack_push(engine->definition_stack, yylhsminor.yy0); recursive_parse_indent(engine, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 15: /* block ::= def_glossary */ + case 16: /* block ::= def_glossary */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEF_GLOSSARY); stack_push(engine->definition_stack, yylhsminor.yy0); recursive_parse_indent(engine, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 16: /* block ::= def_link */ + case 17: /* block ::= def_link */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEF_LINK); stack_push(engine->definition_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 17: /* block ::= definition_block */ + case 18: /* block ::= definition_block */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEFLIST); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 18: /* block ::= empty */ + case 19: /* block ::= empty */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_EMPTY); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 19: /* block ::= fenced_block */ + case 20: /* block ::= fenced_block */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_CODE_FENCED); yymsp[0].minor.yy0->child->type = CODE_FENCE; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 20: /* block ::= html_block */ - case 21: /* block ::= html_com_block */ yytestcase(yyruleno==21); + case 21: /* block ::= html_block */ + case 22: /* block ::= html_com_block */ yytestcase(yyruleno==22); { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_HTML); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 22: /* block ::= indented_code */ + case 23: /* block ::= indented_code */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_CODE_INDENTED); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 23: /* block ::= list_bullet */ + case 24: /* block ::= list_bullet */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_BULLETED); is_list_loose(yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 24: /* block ::= list_enum */ + case 25: /* block ::= list_enum */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_ENUMERATED); is_list_loose(yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 25: /* block ::= meta_block */ + case 26: /* block ::= meta_block */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_META); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 26: /* block ::= para */ + case 27: /* block ::= meta_block LINE_SETEXT_2 */ +{ yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_META); token_chain_append(yylhsminor.yy0, yymsp[0].minor.yy0); } + yymsp[-1].minor.yy0 = yylhsminor.yy0; + break; + case 28: /* block ::= para */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_PARA); is_para_html(engine, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 27: /* block ::= setext_1 */ + case 29: /* block ::= setext_1 */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_SETEXT_1); stack_push(engine->header_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 28: /* block ::= setext_2 */ + case 30: /* block ::= setext_2 */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_SETEXT_2); stack_push(engine->header_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 29: /* block ::= table */ + case 31: /* block ::= table */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE); stack_push(engine->table_stack, yylhsminor.yy0); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 30: /* chunk ::= chunk chunk_line */ - case 31: /* nested_chunks ::= nested_chunks nested_chunk */ yytestcase(yyruleno==31); - case 34: /* ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==34); - case 35: /* opt_ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==35); - case 36: /* blockquote ::= blockquote quote_line */ yytestcase(yyruleno==36); - case 37: /* def_citation ::= LINE_DEF_CITATION tail */ yytestcase(yyruleno==37); - case 38: /* def_footnote ::= LINE_DEF_FOOTNOTE tail */ yytestcase(yyruleno==38); - case 39: /* def_glossary ::= LINE_DEF_GLOSSARY tail */ yytestcase(yyruleno==39); - case 40: /* def_link ::= LINE_DEF_LINK chunk */ yytestcase(yyruleno==40); - case 41: /* def_abbreviation ::= LINE_DEF_ABBREVIATION chunk */ yytestcase(yyruleno==41); - case 43: /* defs ::= defs def */ yytestcase(yyruleno==43); - case 46: /* empty ::= empty LINE_EMPTY */ yytestcase(yyruleno==46); - case 50: /* fenced_3 ::= fenced_3 fenced_line */ yytestcase(yyruleno==50); - case 53: /* fenced_4 ::= fenced_4 fenced_line */ yytestcase(yyruleno==53); - case 54: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==54); - case 55: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==55); - case 57: /* fenced_5 ::= fenced_5 fenced_line */ yytestcase(yyruleno==57); - case 58: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==58); - case 59: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==59); - case 60: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==60); - case 61: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==61); - case 62: /* html_block ::= html_block html_line */ yytestcase(yyruleno==62); - case 63: /* html_com_block ::= html_comment LINE_STOP_COMMENT */ yytestcase(yyruleno==63); - case 64: /* html_comment ::= html_comment comment_line */ yytestcase(yyruleno==64); - case 65: /* indented_code ::= indented_code indented_line */ yytestcase(yyruleno==65); - case 66: /* indented_code ::= indented_code LINE_EMPTY */ yytestcase(yyruleno==66); - case 67: /* list_bullet ::= list_bullet item_bullet */ yytestcase(yyruleno==67); - case 72: /* list_enum ::= list_enum item_enum */ yytestcase(yyruleno==72); - case 77: /* meta_block ::= meta_block meta_line */ yytestcase(yyruleno==77); - case 78: /* para ::= LINE_PLAIN chunk */ yytestcase(yyruleno==78); - case 79: /* setext_1 ::= para LINE_SETEXT_1 */ yytestcase(yyruleno==79); - case 80: /* setext_2 ::= para LINE_SETEXT_2 */ yytestcase(yyruleno==80); - case 81: /* table ::= table_header table_body */ yytestcase(yyruleno==81); - case 83: /* header_rows ::= header_rows LINE_TABLE */ yytestcase(yyruleno==83); - case 84: /* table_body ::= table_body table_section */ yytestcase(yyruleno==84); - case 87: /* all_rows ::= all_rows row */ yytestcase(yyruleno==87); + case 32: /* chunk ::= chunk chunk_line */ + case 33: /* nested_chunks ::= nested_chunks nested_chunk */ yytestcase(yyruleno==33); + case 36: /* ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==36); + case 37: /* opt_ext_chunk ::= chunk nested_chunks */ yytestcase(yyruleno==37); + case 38: /* blockquote ::= blockquote quote_line */ yytestcase(yyruleno==38); + case 39: /* def_citation ::= LINE_DEF_CITATION tail */ yytestcase(yyruleno==39); + case 40: /* def_footnote ::= LINE_DEF_FOOTNOTE tail */ yytestcase(yyruleno==40); + case 41: /* def_glossary ::= LINE_DEF_GLOSSARY tail */ yytestcase(yyruleno==41); + case 42: /* def_link ::= LINE_DEF_LINK chunk */ yytestcase(yyruleno==42); + case 43: /* def_abbreviation ::= LINE_DEF_ABBREVIATION chunk */ yytestcase(yyruleno==43); + case 45: /* defs ::= defs def */ yytestcase(yyruleno==45); + case 48: /* empty ::= empty LINE_EMPTY */ yytestcase(yyruleno==48); + case 52: /* fenced_3 ::= fenced_3 fenced_line */ yytestcase(yyruleno==52); + case 55: /* fenced_4 ::= fenced_4 fenced_line */ yytestcase(yyruleno==55); + case 56: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==56); + case 57: /* fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==57); + case 59: /* fenced_5 ::= fenced_5 fenced_line */ yytestcase(yyruleno==59); + case 60: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==60); + case 61: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==61); + case 62: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==62); + case 63: /* fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==63); + case 64: /* html_block ::= html_block html_line */ yytestcase(yyruleno==64); + case 65: /* html_com_block ::= html_comment LINE_STOP_COMMENT */ yytestcase(yyruleno==65); + case 66: /* html_comment ::= html_comment comment_line */ yytestcase(yyruleno==66); + case 67: /* indented_code ::= indented_code indented_line */ yytestcase(yyruleno==67); + case 68: /* indented_code ::= indented_code LINE_EMPTY */ yytestcase(yyruleno==68); + case 69: /* list_bullet ::= list_bullet item_bullet */ yytestcase(yyruleno==69); + case 74: /* list_enum ::= list_enum item_enum */ yytestcase(yyruleno==74); + case 79: /* meta_block ::= meta_block meta_line */ yytestcase(yyruleno==79); + case 80: /* meta_block ::= LINE_YAML LINE_META */ yytestcase(yyruleno==80); + case 81: /* para ::= LINE_PLAIN chunk */ yytestcase(yyruleno==81); + case 82: /* setext_1 ::= para LINE_SETEXT_1 */ yytestcase(yyruleno==82); + case 83: /* setext_2 ::= para LINE_SETEXT_2 */ yytestcase(yyruleno==83); + case 84: /* table ::= table_header table_body */ yytestcase(yyruleno==84); + case 86: /* header_rows ::= header_rows LINE_TABLE */ yytestcase(yyruleno==86); + case 87: /* table_body ::= table_body table_section */ yytestcase(yyruleno==87); + case 90: /* all_rows ::= all_rows row */ yytestcase(yyruleno==90); { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 32: /* nested_chunk ::= empty indented_line chunk */ + case 34: /* nested_chunk ::= empty indented_line chunk */ { yylhsminor.yy0 = yymsp[-2].minor.yy0; token_chain_append(yymsp[-2].minor.yy0, yymsp[-1].minor.yy0); token_chain_append(yymsp[-2].minor.yy0, yymsp[0].minor.yy0); yymsp[-1].minor.yy0->type = LINE_CONTINUATION; } yymsp[-2].minor.yy0 = yylhsminor.yy0; break; - case 33: /* nested_chunk ::= empty indented_line */ + case 35: /* nested_chunk ::= empty indented_line */ { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[0].minor.yy0->type = LINE_CONTINUATION; } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 42: /* definition_block ::= para defs */ + case 44: /* definition_block ::= para defs */ { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[-1].minor.yy0->type = BLOCK_TERM; } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 44: /* def ::= LINE_DEFINITION tail */ + case 46: /* def ::= LINE_DEFINITION tail */ { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_DEFINITION); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_indent(engine, yylhsminor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 45: /* def ::= LINE_DEFINITION */ + case 47: /* def ::= LINE_DEFINITION */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_DEFINITION); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 47: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 */ - case 48: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==48); - case 49: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==49); - case 51: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==51); - case 52: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==52); - case 56: /* fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==56); + case 49: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 */ + case 50: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==50); + case 51: /* fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==51); + case 53: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==53); + case 54: /* fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==54); + case 58: /* fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==58); { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); yymsp[0].minor.yy0->child->type = CODE_FENCE; } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 68: /* item_bullet ::= LINE_LIST_BULLETED ext_chunk */ - case 70: /* item_bullet ::= LINE_LIST_BULLETED nested_chunks */ yytestcase(yyruleno==70); - case 73: /* item_enum ::= LINE_LIST_ENUMERATED ext_chunk */ yytestcase(yyruleno==73); - case 75: /* item_enum ::= LINE_LIST_ENUMERATED nested_chunks */ yytestcase(yyruleno==75); + case 70: /* item_bullet ::= LINE_LIST_BULLETED ext_chunk */ + case 72: /* item_bullet ::= LINE_LIST_BULLETED nested_chunks */ yytestcase(yyruleno==72); + case 75: /* item_enum ::= LINE_LIST_ENUMERATED ext_chunk */ yytestcase(yyruleno==75); + case 77: /* item_enum ::= LINE_LIST_ENUMERATED nested_chunks */ yytestcase(yyruleno==77); { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_LIST_ITEM); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_list_item(engine, yylhsminor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 69: /* item_bullet ::= LINE_LIST_BULLETED chunk */ - case 74: /* item_enum ::= LINE_LIST_ENUMERATED chunk */ yytestcase(yyruleno==74); + case 71: /* item_bullet ::= LINE_LIST_BULLETED chunk */ + case 76: /* item_enum ::= LINE_LIST_ENUMERATED chunk */ yytestcase(yyruleno==76); { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_LIST_ITEM_TIGHT); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); recursive_parse_list_item(engine, yylhsminor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 71: /* item_bullet ::= LINE_LIST_BULLETED */ - case 76: /* item_enum ::= LINE_LIST_ENUMERATED */ yytestcase(yyruleno==76); + case 73: /* item_bullet ::= LINE_LIST_BULLETED */ + case 78: /* item_enum ::= LINE_LIST_ENUMERATED */ yytestcase(yyruleno==78); { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_LIST_ITEM_TIGHT); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 82: /* table_header ::= header_rows LINE_TABLE_SEPARATOR */ + case 85: /* table_header ::= header_rows LINE_TABLE_SEPARATOR */ { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_TABLE_HEADER); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 85: /* table_section ::= all_rows LINE_EMPTY */ + case 88: /* table_section ::= all_rows LINE_EMPTY */ { yylhsminor.yy0 = token_new_parent(yymsp[-1].minor.yy0, BLOCK_TABLE_SECTION); token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; - case 86: /* table_section ::= all_rows */ + case 89: /* table_section ::= all_rows */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE_SECTION); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 88: /* para ::= all_rows */ + case 91: /* para ::= all_rows */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; default: - /* (89) chunk ::= chunk_line (OPTIMIZED OUT) */ assert(yyruleno!=89); - /* (90) chunk_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==90); - /* (91) chunk_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==91); - /* (92) nested_chunks ::= nested_chunk (OPTIMIZED OUT) */ assert(yyruleno!=92); - /* (93) nested_chunk ::= empty */ yytestcase(yyruleno==93); - /* (94) indented_line ::= LINE_INDENTED_TAB */ yytestcase(yyruleno==94); - /* (95) indented_line ::= LINE_INDENTED_SPACE */ yytestcase(yyruleno==95); - /* (96) opt_ext_chunk ::= chunk */ yytestcase(yyruleno==96); - /* (97) tail ::= opt_ext_chunk (OPTIMIZED OUT) */ assert(yyruleno!=97); - /* (98) tail ::= nested_chunks */ yytestcase(yyruleno==98); - /* (99) blockquote ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==99); - /* (100) quote_line ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==100); - /* (101) quote_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==101); - /* (102) def_citation ::= LINE_DEF_CITATION */ yytestcase(yyruleno==102); - /* (103) def_footnote ::= LINE_DEF_FOOTNOTE */ yytestcase(yyruleno==103); - /* (104) def_glossary ::= LINE_DEF_GLOSSARY */ yytestcase(yyruleno==104); - /* (105) def_link ::= LINE_DEF_LINK */ yytestcase(yyruleno==105); - /* (106) def_abbreviation ::= LINE_DEF_ABBREVIATION */ yytestcase(yyruleno==106); - /* (107) defs ::= def (OPTIMIZED OUT) */ assert(yyruleno!=107); - /* (108) empty ::= LINE_EMPTY */ yytestcase(yyruleno==108); - /* (109) fenced_block ::= fenced_3 */ yytestcase(yyruleno==109); - /* (110) fenced_3 ::= LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==110); - /* (111) fenced_3 ::= LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==111); - /* (112) fenced_block ::= fenced_4 */ yytestcase(yyruleno==112); - /* (113) fenced_4 ::= LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==113); - /* (114) fenced_4 ::= LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==114); - /* (115) fenced_block ::= fenced_5 */ yytestcase(yyruleno==115); - /* (116) fenced_5 ::= LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==116); - /* (117) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==117); - /* (118) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==118); - /* (119) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==119); - /* (120) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==120); - /* (121) fenced_line ::= LINE_HR */ yytestcase(yyruleno==121); - /* (122) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==122); - /* (123) fenced_line ::= LINE_START_COMMENT */ yytestcase(yyruleno==123); - /* (124) fenced_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==124); - /* (125) html_block ::= LINE_HTML */ yytestcase(yyruleno==125); - /* (126) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==126); - /* (127) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==127); - /* (128) html_line ::= LINE_HR */ yytestcase(yyruleno==128); - /* (129) html_line ::= LINE_HTML */ yytestcase(yyruleno==129); - /* (130) html_com_block ::= html_comment */ yytestcase(yyruleno==130); - /* (131) html_comment ::= LINE_START_COMMENT */ yytestcase(yyruleno==131); - /* (132) comment_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==132); - /* (133) comment_line ::= LINE_EMPTY */ yytestcase(yyruleno==133); - /* (134) comment_line ::= LINE_FALLBACK */ yytestcase(yyruleno==134); - /* (135) comment_line ::= LINE_HR */ yytestcase(yyruleno==135); - /* (136) comment_line ::= LINE_HTML */ yytestcase(yyruleno==136); - /* (137) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=137); - /* (138) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=138); - /* (139) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=139); - /* (140) meta_block ::= LINE_META */ yytestcase(yyruleno==140); - /* (141) meta_line ::= LINE_META */ yytestcase(yyruleno==141); - /* (142) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==142); - /* (143) para ::= LINE_PLAIN */ yytestcase(yyruleno==143); - /* (144) para ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==144); - /* (145) table ::= table_header */ yytestcase(yyruleno==145); - /* (146) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==146); - /* (147) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=147); - /* (148) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=148); - /* (149) row ::= header_rows */ yytestcase(yyruleno==149); - /* (150) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==150); - /* (151) para ::= defs */ yytestcase(yyruleno==151); + /* (92) chunk ::= chunk_line (OPTIMIZED OUT) */ assert(yyruleno!=92); + /* (93) chunk_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==93); + /* (94) chunk_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==94); + /* (95) nested_chunks ::= nested_chunk (OPTIMIZED OUT) */ assert(yyruleno!=95); + /* (96) nested_chunk ::= empty */ yytestcase(yyruleno==96); + /* (97) indented_line ::= LINE_INDENTED_TAB */ yytestcase(yyruleno==97); + /* (98) indented_line ::= LINE_INDENTED_SPACE */ yytestcase(yyruleno==98); + /* (99) opt_ext_chunk ::= chunk */ yytestcase(yyruleno==99); + /* (100) tail ::= opt_ext_chunk (OPTIMIZED OUT) */ assert(yyruleno!=100); + /* (101) tail ::= nested_chunks */ yytestcase(yyruleno==101); + /* (102) blockquote ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==102); + /* (103) quote_line ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==103); + /* (104) quote_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==104); + /* (105) def_citation ::= LINE_DEF_CITATION */ yytestcase(yyruleno==105); + /* (106) def_footnote ::= LINE_DEF_FOOTNOTE */ yytestcase(yyruleno==106); + /* (107) def_glossary ::= LINE_DEF_GLOSSARY */ yytestcase(yyruleno==107); + /* (108) def_link ::= LINE_DEF_LINK */ yytestcase(yyruleno==108); + /* (109) def_abbreviation ::= LINE_DEF_ABBREVIATION */ yytestcase(yyruleno==109); + /* (110) defs ::= def (OPTIMIZED OUT) */ assert(yyruleno!=110); + /* (111) empty ::= LINE_EMPTY */ yytestcase(yyruleno==111); + /* (112) fenced_block ::= fenced_3 */ yytestcase(yyruleno==112); + /* (113) fenced_3 ::= LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==113); + /* (114) fenced_3 ::= LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==114); + /* (115) fenced_block ::= fenced_4 */ yytestcase(yyruleno==115); + /* (116) fenced_4 ::= LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==116); + /* (117) fenced_4 ::= LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==117); + /* (118) fenced_block ::= fenced_5 */ yytestcase(yyruleno==118); + /* (119) fenced_5 ::= LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==119); + /* (120) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==120); + /* (121) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==121); + /* (122) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==122); + /* (123) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==123); + /* (124) fenced_line ::= LINE_HR */ yytestcase(yyruleno==124); + /* (125) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==125); + /* (126) fenced_line ::= LINE_START_COMMENT */ yytestcase(yyruleno==126); + /* (127) fenced_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==127); + /* (128) html_block ::= LINE_HTML */ yytestcase(yyruleno==128); + /* (129) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==129); + /* (130) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==130); + /* (131) html_line ::= LINE_HR */ yytestcase(yyruleno==131); + /* (132) html_line ::= LINE_HTML */ yytestcase(yyruleno==132); + /* (133) html_com_block ::= html_comment */ yytestcase(yyruleno==133); + /* (134) html_comment ::= LINE_START_COMMENT */ yytestcase(yyruleno==134); + /* (135) comment_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==135); + /* (136) comment_line ::= LINE_EMPTY */ yytestcase(yyruleno==136); + /* (137) comment_line ::= LINE_FALLBACK */ yytestcase(yyruleno==137); + /* (138) comment_line ::= LINE_HR */ yytestcase(yyruleno==138); + /* (139) comment_line ::= LINE_HTML */ yytestcase(yyruleno==139); + /* (140) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=140); + /* (141) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=141); + /* (142) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=142); + /* (143) meta_block ::= LINE_META */ yytestcase(yyruleno==143); + /* (144) meta_line ::= LINE_META */ yytestcase(yyruleno==144); + /* (145) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==145); + /* (146) para ::= LINE_PLAIN */ yytestcase(yyruleno==146); + /* (147) para ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==147); + /* (148) table ::= table_header */ yytestcase(yyruleno==148); + /* (149) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==149); + /* (150) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=150); + /* (151) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=151); + /* (152) row ::= header_rows */ yytestcase(yyruleno==152); + /* (153) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==153); + /* (154) para ::= defs */ yytestcase(yyruleno==154); break; /********** End reduce actions ************************************************/ }; diff --git a/Sources/libMultiMarkdown/parser.h b/Sources/libMultiMarkdown/parser.h index 936d983..71100b1 100644 --- a/Sources/libMultiMarkdown/parser.h +++ b/Sources/libMultiMarkdown/parser.h @@ -1,38 +1,39 @@ #define LINE_HR 1 #define LINE_SETEXT_1 2 #define LINE_SETEXT_2 3 -#define LINE_CONTINUATION 4 -#define LINE_PLAIN 5 -#define LINE_INDENTED_TAB 6 -#define LINE_INDENTED_SPACE 7 -#define LINE_TABLE 8 -#define LINE_TABLE_SEPARATOR 9 -#define LINE_FALLBACK 10 -#define LINE_HTML 11 -#define LINE_ATX_1 12 -#define LINE_ATX_2 13 -#define LINE_ATX_3 14 -#define LINE_ATX_4 15 -#define LINE_ATX_5 16 -#define LINE_ATX_6 17 -#define LINE_BLOCKQUOTE 18 -#define LINE_LIST_BULLETED 19 -#define LINE_LIST_ENUMERATED 20 -#define LINE_DEF_ABBREVIATION 21 -#define LINE_DEF_CITATION 22 -#define LINE_DEF_FOOTNOTE 23 -#define LINE_DEF_GLOSSARY 24 -#define LINE_DEF_LINK 25 -#define LINE_TOC 26 -#define LINE_DEFINITION 27 -#define LINE_META 28 -#define LINE_BACKTICK 29 -#define LINE_FENCE_BACKTICK_3 30 -#define LINE_FENCE_BACKTICK_4 31 -#define LINE_FENCE_BACKTICK_5 32 -#define LINE_FENCE_BACKTICK_START_3 33 -#define LINE_FENCE_BACKTICK_START_4 34 -#define LINE_FENCE_BACKTICK_START_5 35 -#define LINE_STOP_COMMENT 36 -#define LINE_EMPTY 37 -#define LINE_START_COMMENT 38 +#define LINE_YAML 4 +#define LINE_CONTINUATION 5 +#define LINE_PLAIN 6 +#define LINE_INDENTED_TAB 7 +#define LINE_INDENTED_SPACE 8 +#define LINE_TABLE 9 +#define LINE_TABLE_SEPARATOR 10 +#define LINE_FALLBACK 11 +#define LINE_HTML 12 +#define LINE_ATX_1 13 +#define LINE_ATX_2 14 +#define LINE_ATX_3 15 +#define LINE_ATX_4 16 +#define LINE_ATX_5 17 +#define LINE_ATX_6 18 +#define LINE_BLOCKQUOTE 19 +#define LINE_LIST_BULLETED 20 +#define LINE_LIST_ENUMERATED 21 +#define LINE_DEF_ABBREVIATION 22 +#define LINE_DEF_CITATION 23 +#define LINE_DEF_FOOTNOTE 24 +#define LINE_DEF_GLOSSARY 25 +#define LINE_DEF_LINK 26 +#define LINE_TOC 27 +#define LINE_DEFINITION 28 +#define LINE_META 29 +#define LINE_BACKTICK 30 +#define LINE_FENCE_BACKTICK_3 31 +#define LINE_FENCE_BACKTICK_4 32 +#define LINE_FENCE_BACKTICK_5 33 +#define LINE_FENCE_BACKTICK_START_3 34 +#define LINE_FENCE_BACKTICK_START_4 35 +#define LINE_FENCE_BACKTICK_START_5 36 +#define LINE_STOP_COMMENT 37 +#define LINE_EMPTY 38 +#define LINE_START_COMMENT 39 diff --git a/Sources/libMultiMarkdown/parser.out b/Sources/libMultiMarkdown/parser.out index 543a3d4..5105cff 100644 --- a/Sources/libMultiMarkdown/parser.out +++ b/Sources/libMultiMarkdown/parser.out @@ -9,6 +9,7 @@ State 0: block ::= * LINE_ATX_5 block ::= * LINE_ATX_6 block ::= * LINE_HR + block ::= * LINE_YAML block ::= * LINE_TOC block ::= * blockquote block ::= * def_abbreviation @@ -25,6 +26,7 @@ State 0: block ::= * list_bullet block ::= * list_enum block ::= * meta_block + block ::= * meta_block LINE_SETEXT_2 block ::= * para block ::= * setext_1 block ::= * setext_2 @@ -97,6 +99,7 @@ State 0: item_enum ::= * LINE_LIST_ENUMERATED meta_block ::= * meta_block meta_line meta_block ::= * LINE_META + meta_block ::= * LINE_YAML LINE_META para ::= * LINE_PLAIN chunk para ::= * LINE_PLAIN para ::= * LINE_STOP_COMMENT @@ -115,19 +118,20 @@ State 0: para ::= * defs LINE_HR shift-reduce 9 block ::= LINE_HR + LINE_YAML shift 45 LINE_PLAIN shift 16 - LINE_INDENTED_TAB shift-reduce 94 indented_line ::= LINE_INDENTED_TAB - LINE_INDENTED_SPACE shift-reduce 95 indented_line ::= LINE_INDENTED_SPACE - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_HTML shift-reduce 125 html_block ::= LINE_HTML + LINE_INDENTED_TAB shift-reduce 97 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_SPACE shift-reduce 98 indented_line ::= LINE_INDENTED_SPACE + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_HTML shift-reduce 128 html_block ::= LINE_HTML LINE_ATX_1 shift-reduce 3 block ::= LINE_ATX_1 LINE_ATX_2 shift-reduce 4 block ::= LINE_ATX_2 LINE_ATX_3 shift-reduce 5 block ::= LINE_ATX_3 LINE_ATX_4 shift-reduce 6 block ::= LINE_ATX_4 LINE_ATX_5 shift-reduce 7 block ::= LINE_ATX_5 LINE_ATX_6 shift-reduce 8 block ::= LINE_ATX_6 - LINE_BLOCKQUOTE shift-reduce 99 blockquote ::= LINE_BLOCKQUOTE + LINE_BLOCKQUOTE shift-reduce 102 blockquote ::= LINE_BLOCKQUOTE LINE_LIST_BULLETED shift 7 LINE_LIST_ENUMERATED shift 6 LINE_DEF_ABBREVIATION shift 17 @@ -135,41 +139,41 @@ State 0: LINE_DEF_FOOTNOTE shift 3 LINE_DEF_GLOSSARY shift 2 LINE_DEF_LINK shift 18 - LINE_TOC shift-reduce 10 block ::= LINE_TOC + LINE_TOC shift-reduce 11 block ::= LINE_TOC LINE_DEFINITION shift 5 - LINE_META shift-reduce 140 meta_block ::= LINE_META - LINE_FENCE_BACKTICK_3 shift-reduce 110 fenced_3 ::= LINE_FENCE_BACKTICK_3 - LINE_FENCE_BACKTICK_4 shift-reduce 113 fenced_4 ::= LINE_FENCE_BACKTICK_4 - LINE_FENCE_BACKTICK_5 shift-reduce 116 fenced_5 ::= LINE_FENCE_BACKTICK_5 - LINE_FENCE_BACKTICK_START_3 shift-reduce 111 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 - LINE_FENCE_BACKTICK_START_4 shift-reduce 114 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 - LINE_FENCE_BACKTICK_START_5 shift-reduce 117 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 - LINE_STOP_COMMENT shift-reduce 144 para ::= LINE_STOP_COMMENT - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_START_COMMENT shift-reduce 131 html_comment ::= LINE_START_COMMENT + LINE_META shift-reduce 143 meta_block ::= LINE_META + LINE_FENCE_BACKTICK_3 shift-reduce 113 fenced_3 ::= LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_4 shift-reduce 116 fenced_4 ::= LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_5 shift-reduce 119 fenced_5 ::= LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_START_3 shift-reduce 114 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_4 shift-reduce 117 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 + LINE_FENCE_BACKTICK_START_5 shift-reduce 120 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 + LINE_STOP_COMMENT shift-reduce 147 para ::= LINE_STOP_COMMENT + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_START_COMMENT shift-reduce 134 html_comment ::= LINE_START_COMMENT doc accept blocks shift 1 block shift-reduce 2 blocks ::= block blockquote shift 37 - def_abbreviation shift-reduce 12 block ::= def_abbreviation - def_citation shift-reduce 13 block ::= def_citation - def_footnote shift-reduce 14 block ::= def_footnote - def_glossary shift-reduce 15 block ::= def_glossary - def_link shift-reduce 16 block ::= def_link - definition_block shift-reduce 17 block ::= definition_block + def_abbreviation shift-reduce 13 block ::= def_abbreviation + def_citation shift-reduce 14 block ::= def_citation + def_footnote shift-reduce 15 block ::= def_footnote + def_glossary shift-reduce 16 block ::= def_glossary + def_link shift-reduce 17 block ::= def_link + definition_block shift-reduce 18 block ::= definition_block empty shift 44 - fenced_block shift-reduce 19 block ::= fenced_block + fenced_block shift-reduce 20 block ::= fenced_block html_block shift 29 - html_com_block shift-reduce 21 block ::= html_com_block - indented_code shift 31 + html_com_block shift-reduce 22 block ::= html_com_block + indented_code shift 32 list_bullet shift 41 list_enum shift 40 - meta_block shift 35 + meta_block shift 30 para shift 14 - setext_1 shift-reduce 27 block ::= setext_1 - setext_2 shift-reduce 28 block ::= setext_2 - table shift-reduce 29 block ::= table - indented_line shift 31 /* because indented_line==indented_code */ + setext_1 shift-reduce 29 block ::= setext_1 + setext_2 shift-reduce 30 block ::= setext_2 + table shift-reduce 31 block ::= table + indented_line shift 32 /* because indented_line==indented_code */ defs shift 38 def shift 38 /* because def==defs */ fenced_3 shift 27 @@ -193,6 +197,7 @@ State 1: block ::= * LINE_ATX_5 block ::= * LINE_ATX_6 block ::= * LINE_HR + block ::= * LINE_YAML block ::= * LINE_TOC block ::= * blockquote block ::= * def_abbreviation @@ -209,6 +214,7 @@ State 1: block ::= * list_bullet block ::= * list_enum block ::= * meta_block + block ::= * meta_block LINE_SETEXT_2 block ::= * para block ::= * setext_1 block ::= * setext_2 @@ -281,6 +287,7 @@ State 1: item_enum ::= * LINE_LIST_ENUMERATED meta_block ::= * meta_block meta_line meta_block ::= * LINE_META + meta_block ::= * LINE_YAML LINE_META para ::= * LINE_PLAIN chunk para ::= * LINE_PLAIN para ::= * LINE_STOP_COMMENT @@ -300,19 +307,20 @@ State 1: $ reduce 0 doc ::= blocks LINE_HR shift-reduce 9 block ::= LINE_HR + LINE_YAML shift 45 LINE_PLAIN shift 16 - LINE_INDENTED_TAB shift-reduce 94 indented_line ::= LINE_INDENTED_TAB - LINE_INDENTED_SPACE shift-reduce 95 indented_line ::= LINE_INDENTED_SPACE - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_HTML shift-reduce 125 html_block ::= LINE_HTML + LINE_INDENTED_TAB shift-reduce 97 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_SPACE shift-reduce 98 indented_line ::= LINE_INDENTED_SPACE + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_HTML shift-reduce 128 html_block ::= LINE_HTML LINE_ATX_1 shift-reduce 3 block ::= LINE_ATX_1 LINE_ATX_2 shift-reduce 4 block ::= LINE_ATX_2 LINE_ATX_3 shift-reduce 5 block ::= LINE_ATX_3 LINE_ATX_4 shift-reduce 6 block ::= LINE_ATX_4 LINE_ATX_5 shift-reduce 7 block ::= LINE_ATX_5 LINE_ATX_6 shift-reduce 8 block ::= LINE_ATX_6 - LINE_BLOCKQUOTE shift-reduce 99 blockquote ::= LINE_BLOCKQUOTE + LINE_BLOCKQUOTE shift-reduce 102 blockquote ::= LINE_BLOCKQUOTE LINE_LIST_BULLETED shift 7 LINE_LIST_ENUMERATED shift 6 LINE_DEF_ABBREVIATION shift 17 @@ -320,39 +328,39 @@ State 1: LINE_DEF_FOOTNOTE shift 3 LINE_DEF_GLOSSARY shift 2 LINE_DEF_LINK shift 18 - LINE_TOC shift-reduce 10 block ::= LINE_TOC + LINE_TOC shift-reduce 11 block ::= LINE_TOC LINE_DEFINITION shift 5 - LINE_META shift-reduce 140 meta_block ::= LINE_META - LINE_FENCE_BACKTICK_3 shift-reduce 110 fenced_3 ::= LINE_FENCE_BACKTICK_3 - LINE_FENCE_BACKTICK_4 shift-reduce 113 fenced_4 ::= LINE_FENCE_BACKTICK_4 - LINE_FENCE_BACKTICK_5 shift-reduce 116 fenced_5 ::= LINE_FENCE_BACKTICK_5 - LINE_FENCE_BACKTICK_START_3 shift-reduce 111 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 - LINE_FENCE_BACKTICK_START_4 shift-reduce 114 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 - LINE_FENCE_BACKTICK_START_5 shift-reduce 117 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 - LINE_STOP_COMMENT shift-reduce 144 para ::= LINE_STOP_COMMENT - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_START_COMMENT shift-reduce 131 html_comment ::= LINE_START_COMMENT + LINE_META shift-reduce 143 meta_block ::= LINE_META + LINE_FENCE_BACKTICK_3 shift-reduce 113 fenced_3 ::= LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_4 shift-reduce 116 fenced_4 ::= LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_5 shift-reduce 119 fenced_5 ::= LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_START_3 shift-reduce 114 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_4 shift-reduce 117 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 + LINE_FENCE_BACKTICK_START_5 shift-reduce 120 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 + LINE_STOP_COMMENT shift-reduce 147 para ::= LINE_STOP_COMMENT + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_START_COMMENT shift-reduce 134 html_comment ::= LINE_START_COMMENT block shift-reduce 1 blocks ::= blocks block blockquote shift 37 - def_abbreviation shift-reduce 12 block ::= def_abbreviation - def_citation shift-reduce 13 block ::= def_citation - def_footnote shift-reduce 14 block ::= def_footnote - def_glossary shift-reduce 15 block ::= def_glossary - def_link shift-reduce 16 block ::= def_link - definition_block shift-reduce 17 block ::= definition_block + def_abbreviation shift-reduce 13 block ::= def_abbreviation + def_citation shift-reduce 14 block ::= def_citation + def_footnote shift-reduce 15 block ::= def_footnote + def_glossary shift-reduce 16 block ::= def_glossary + def_link shift-reduce 17 block ::= def_link + definition_block shift-reduce 18 block ::= definition_block empty shift 44 - fenced_block shift-reduce 19 block ::= fenced_block + fenced_block shift-reduce 20 block ::= fenced_block html_block shift 29 - html_com_block shift-reduce 21 block ::= html_com_block - indented_code shift 31 + html_com_block shift-reduce 22 block ::= html_com_block + indented_code shift 32 list_bullet shift 41 list_enum shift 40 - meta_block shift 35 + meta_block shift 30 para shift 14 - setext_1 shift-reduce 27 block ::= setext_1 - setext_2 shift-reduce 28 block ::= setext_2 - table shift-reduce 29 block ::= table - indented_line shift 31 /* because indented_line==indented_code */ + setext_1 shift-reduce 29 block ::= setext_1 + setext_2 shift-reduce 30 block ::= setext_2 + table shift-reduce 31 block ::= table + indented_line shift 32 /* because indented_line==indented_code */ defs shift 38 def shift 38 /* because def==defs */ fenced_3 shift 27 @@ -381,23 +389,23 @@ State 2: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_glossary ::= LINE_DEF_GLOSSARY * tail - (104) def_glossary ::= LINE_DEF_GLOSSARY * + (107) def_glossary ::= LINE_DEF_GLOSSARY * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 104 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 104 ** Parsing conflict ** - empty shift 30 + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 107 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 107 ** Parsing conflict ** + empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ nested_chunks shift 20 nested_chunk shift 20 /* because nested_chunk==nested_chunks */ - opt_ext_chunk shift-reduce 39 def_glossary ::= LINE_DEF_GLOSSARY tail /* because opt_ext_chunk==tail */ - tail shift-reduce 39 def_glossary ::= LINE_DEF_GLOSSARY tail - {default} reduce 104 def_glossary ::= LINE_DEF_GLOSSARY + opt_ext_chunk shift-reduce 41 def_glossary ::= LINE_DEF_GLOSSARY tail /* because opt_ext_chunk==tail */ + tail shift-reduce 41 def_glossary ::= LINE_DEF_GLOSSARY tail + {default} reduce 107 def_glossary ::= LINE_DEF_GLOSSARY State 3: chunk ::= * chunk chunk_line @@ -414,23 +422,23 @@ State 3: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_footnote ::= LINE_DEF_FOOTNOTE * tail - (103) def_footnote ::= LINE_DEF_FOOTNOTE * + (106) def_footnote ::= LINE_DEF_FOOTNOTE * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 103 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 103 ** Parsing conflict ** - empty shift 30 + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 106 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 106 ** Parsing conflict ** + empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ nested_chunks shift 20 nested_chunk shift 20 /* because nested_chunk==nested_chunks */ - opt_ext_chunk shift-reduce 38 def_footnote ::= LINE_DEF_FOOTNOTE tail /* because opt_ext_chunk==tail */ - tail shift-reduce 38 def_footnote ::= LINE_DEF_FOOTNOTE tail - {default} reduce 103 def_footnote ::= LINE_DEF_FOOTNOTE + opt_ext_chunk shift-reduce 40 def_footnote ::= LINE_DEF_FOOTNOTE tail /* because opt_ext_chunk==tail */ + tail shift-reduce 40 def_footnote ::= LINE_DEF_FOOTNOTE tail + {default} reduce 106 def_footnote ::= LINE_DEF_FOOTNOTE State 4: chunk ::= * chunk chunk_line @@ -447,23 +455,23 @@ State 4: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_citation ::= LINE_DEF_CITATION * tail - (102) def_citation ::= LINE_DEF_CITATION * + (105) def_citation ::= LINE_DEF_CITATION * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 102 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 102 ** Parsing conflict ** - empty shift 30 + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 105 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 105 ** Parsing conflict ** + empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ nested_chunks shift 20 nested_chunk shift 20 /* because nested_chunk==nested_chunks */ - opt_ext_chunk shift-reduce 37 def_citation ::= LINE_DEF_CITATION tail /* because opt_ext_chunk==tail */ - tail shift-reduce 37 def_citation ::= LINE_DEF_CITATION tail - {default} reduce 102 def_citation ::= LINE_DEF_CITATION + opt_ext_chunk shift-reduce 39 def_citation ::= LINE_DEF_CITATION tail /* because opt_ext_chunk==tail */ + tail shift-reduce 39 def_citation ::= LINE_DEF_CITATION tail + {default} reduce 105 def_citation ::= LINE_DEF_CITATION State 5: chunk ::= * chunk chunk_line @@ -480,23 +488,23 @@ State 5: tail ::= * opt_ext_chunk tail ::= * nested_chunks def ::= LINE_DEFINITION * tail - (45) def ::= LINE_DEFINITION * + (47) def ::= LINE_DEFINITION * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 45 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 45 ** Parsing conflict ** - empty shift 30 + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 47 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 47 ** Parsing conflict ** + empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ nested_chunks shift 20 nested_chunk shift 20 /* because nested_chunk==nested_chunks */ - opt_ext_chunk shift-reduce 44 def ::= LINE_DEFINITION tail /* because opt_ext_chunk==tail */ - tail shift-reduce 44 def ::= LINE_DEFINITION tail - {default} reduce 45 def ::= LINE_DEFINITION + opt_ext_chunk shift-reduce 46 def ::= LINE_DEFINITION tail /* because opt_ext_chunk==tail */ + tail shift-reduce 46 def ::= LINE_DEFINITION tail + {default} reduce 47 def ::= LINE_DEFINITION State 6: chunk ::= * chunk chunk_line @@ -514,20 +522,20 @@ State 6: item_enum ::= LINE_LIST_ENUMERATED * ext_chunk item_enum ::= LINE_LIST_ENUMERATED * chunk item_enum ::= LINE_LIST_ENUMERATED * nested_chunks - (76) item_enum ::= LINE_LIST_ENUMERATED * + (78) item_enum ::= LINE_LIST_ENUMERATED * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 76 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 76 ** Parsing conflict ** - empty shift 30 + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 78 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 78 ** Parsing conflict ** + empty shift 31 chunk shift 10 chunk_line shift 10 /* because chunk_line==chunk */ nested_chunks shift 22 nested_chunk shift 22 /* because nested_chunk==nested_chunks */ - ext_chunk shift-reduce 73 item_enum ::= LINE_LIST_ENUMERATED ext_chunk - {default} reduce 76 item_enum ::= LINE_LIST_ENUMERATED + ext_chunk shift-reduce 75 item_enum ::= LINE_LIST_ENUMERATED ext_chunk + {default} reduce 78 item_enum ::= LINE_LIST_ENUMERATED State 7: chunk ::= * chunk chunk_line @@ -545,24 +553,24 @@ State 7: item_bullet ::= LINE_LIST_BULLETED * ext_chunk item_bullet ::= LINE_LIST_BULLETED * chunk item_bullet ::= LINE_LIST_BULLETED * nested_chunks - (71) item_bullet ::= LINE_LIST_BULLETED * - - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 71 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 71 ** Parsing conflict ** - empty shift 30 + (73) item_bullet ::= LINE_LIST_BULLETED * + + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 73 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 73 ** Parsing conflict ** + empty shift 31 chunk shift 11 chunk_line shift 11 /* because chunk_line==chunk */ nested_chunks shift 23 nested_chunk shift 23 /* because nested_chunk==nested_chunks */ - ext_chunk shift-reduce 68 item_bullet ::= LINE_LIST_BULLETED ext_chunk - {default} reduce 71 item_bullet ::= LINE_LIST_BULLETED + ext_chunk shift-reduce 70 item_bullet ::= LINE_LIST_BULLETED ext_chunk + {default} reduce 73 item_bullet ::= LINE_LIST_BULLETED State 8: table ::= table_header * table_body - (145) table ::= table_header * + (148) table ::= table_header * header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE table_body ::= * table_body table_section @@ -574,16 +582,16 @@ State 8: row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE reduce 145 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_TABLE_SEPARATOR reduce 145 ** Parsing conflict ** + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE reduce 148 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 148 ** Parsing conflict ** table_body shift 12 header_rows shift 43 table_section shift 12 /* because table_section==table_body */ all_rows shift 13 row shift 13 /* because row==all_rows */ - {default} reduce 145 table ::= table_header + {default} reduce 148 table ::= table_header State 9: chunk ::= chunk * chunk_line @@ -595,20 +603,20 @@ State 9: nested_chunk ::= * empty indented_line nested_chunk ::= * empty opt_ext_chunk ::= chunk * nested_chunks - (96) opt_ext_chunk ::= chunk * + (99) opt_ext_chunk ::= chunk * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 96 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 96 ** Parsing conflict ** - empty shift 30 - chunk_line shift-reduce 30 chunk ::= chunk chunk_line + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 99 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 99 ** Parsing conflict ** + empty shift 31 + chunk_line shift-reduce 32 chunk ::= chunk chunk_line nested_chunks shift 21 nested_chunk shift 21 /* because nested_chunk==nested_chunks */ - {default} reduce 96 opt_ext_chunk ::= chunk + {default} reduce 99 opt_ext_chunk ::= chunk State 10: chunk ::= chunk * chunk_line @@ -622,18 +630,18 @@ State 10: ext_chunk ::= chunk * nested_chunks empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - (74) item_enum ::= LINE_LIST_ENUMERATED chunk * - - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 74 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 74 ** Parsing conflict ** - empty shift 30 - chunk_line shift-reduce 30 chunk ::= chunk chunk_line + (76) item_enum ::= LINE_LIST_ENUMERATED chunk * + + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 76 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 76 ** Parsing conflict ** + empty shift 31 + chunk_line shift-reduce 32 chunk ::= chunk chunk_line nested_chunks shift 24 nested_chunk shift 24 /* because nested_chunk==nested_chunks */ - {default} reduce 74 item_enum ::= LINE_LIST_ENUMERATED chunk + {default} reduce 76 item_enum ::= LINE_LIST_ENUMERATED chunk State 11: chunk ::= chunk * chunk_line @@ -647,21 +655,21 @@ State 11: ext_chunk ::= chunk * nested_chunks empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - (69) item_bullet ::= LINE_LIST_BULLETED chunk * - - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 69 ** Parsing conflict ** - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 69 ** Parsing conflict ** - empty shift 30 - chunk_line shift-reduce 30 chunk ::= chunk chunk_line + (71) item_bullet ::= LINE_LIST_BULLETED chunk * + + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 71 ** Parsing conflict ** + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 71 ** Parsing conflict ** + empty shift 31 + chunk_line shift-reduce 32 chunk ::= chunk chunk_line nested_chunks shift 24 nested_chunk shift 24 /* because nested_chunk==nested_chunks */ - {default} reduce 69 item_bullet ::= LINE_LIST_BULLETED chunk + {default} reduce 71 item_bullet ::= LINE_LIST_BULLETED chunk State 12: - (81) table ::= table_header table_body * + (84) table ::= table_header table_body * header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE table_body ::= table_body * table_section @@ -672,37 +680,37 @@ State 12: row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE reduce 81 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_TABLE_SEPARATOR reduce 81 ** Parsing conflict ** + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE reduce 84 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 84 ** Parsing conflict ** header_rows shift 43 - table_section shift-reduce 84 table_body ::= table_body table_section + table_section shift-reduce 87 table_body ::= table_body table_section all_rows shift 13 row shift 13 /* because row==all_rows */ - {default} reduce 81 table ::= table_header table_body + {default} reduce 84 table ::= table_header table_body State 13: header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE table_section ::= all_rows * LINE_EMPTY - (86) table_section ::= all_rows * + (89) table_section ::= all_rows * all_rows ::= all_rows * row row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE reduce 86 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_TABLE_SEPARATOR reduce 86 ** Parsing conflict ** - LINE_EMPTY shift-reduce 85 table_section ::= all_rows LINE_EMPTY - LINE_EMPTY reduce 86 ** Parsing conflict ** + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE reduce 89 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 89 ** Parsing conflict ** + LINE_EMPTY shift-reduce 88 table_section ::= all_rows LINE_EMPTY + LINE_EMPTY reduce 89 ** Parsing conflict ** header_rows shift 43 - row shift-reduce 87 all_rows ::= all_rows row - {default} reduce 86 table_section ::= all_rows + row shift-reduce 90 all_rows ::= all_rows row + {default} reduce 89 table_section ::= all_rows State 14: - (26) block ::= para * + (28) block ::= para * definition_block ::= para * defs defs ::= * defs def defs ::= * def @@ -711,13 +719,13 @@ State 14: setext_1 ::= para * LINE_SETEXT_1 setext_2 ::= para * LINE_SETEXT_2 - LINE_SETEXT_1 shift-reduce 79 setext_1 ::= para LINE_SETEXT_1 - LINE_SETEXT_2 shift-reduce 80 setext_2 ::= para LINE_SETEXT_2 + LINE_SETEXT_1 shift-reduce 82 setext_1 ::= para LINE_SETEXT_1 + LINE_SETEXT_2 shift-reduce 83 setext_2 ::= para LINE_SETEXT_2 LINE_DEFINITION shift 5 - LINE_DEFINITION reduce 26 ** Parsing conflict ** + LINE_DEFINITION reduce 28 ** Parsing conflict ** defs shift 39 def shift 39 /* because def==defs */ - {default} reduce 26 block ::= para + {default} reduce 28 block ::= para State 15: header_rows ::= * header_rows LINE_TABLE @@ -725,15 +733,15 @@ State 15: all_rows ::= all_rows * row row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - (88) para ::= all_rows * + (91) para ::= all_rows * - LINE_TABLE shift-reduce 146 header_rows ::= LINE_TABLE - LINE_TABLE reduce 88 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 150 row ::= LINE_TABLE_SEPARATOR - LINE_TABLE_SEPARATOR reduce 88 ** Parsing conflict ** + LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE reduce 91 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 91 ** Parsing conflict ** header_rows shift 43 - row shift-reduce 87 all_rows ::= all_rows row - {default} reduce 88 para ::= all_rows + row shift-reduce 90 all_rows ::= all_rows row + {default} reduce 91 para ::= all_rows State 16: chunk ::= * chunk chunk_line @@ -741,14 +749,14 @@ State 16: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT para ::= LINE_PLAIN * chunk - (143) para ::= LINE_PLAIN * + (146) para ::= LINE_PLAIN * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 143 ** Parsing conflict ** - chunk shift 32 - chunk_line shift 32 /* because chunk_line==chunk */ - {default} reduce 143 para ::= LINE_PLAIN + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 146 ** Parsing conflict ** + chunk shift 33 + chunk_line shift 33 /* because chunk_line==chunk */ + {default} reduce 146 para ::= LINE_PLAIN State 17: chunk ::= * chunk chunk_line @@ -756,14 +764,14 @@ State 17: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT def_abbreviation ::= LINE_DEF_ABBREVIATION * chunk - (106) def_abbreviation ::= LINE_DEF_ABBREVIATION * + (109) def_abbreviation ::= LINE_DEF_ABBREVIATION * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 106 ** Parsing conflict ** - chunk shift 33 - chunk_line shift 33 /* because chunk_line==chunk */ - {default} reduce 106 def_abbreviation ::= LINE_DEF_ABBREVIATION + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 109 ** Parsing conflict ** + chunk shift 34 + chunk_line shift 34 /* because chunk_line==chunk */ + {default} reduce 109 def_abbreviation ::= LINE_DEF_ABBREVIATION State 18: chunk ::= * chunk chunk_line @@ -771,14 +779,14 @@ State 18: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT def_link ::= LINE_DEF_LINK * chunk - (105) def_link ::= LINE_DEF_LINK * + (108) def_link ::= LINE_DEF_LINK * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 105 ** Parsing conflict ** - chunk shift 34 - chunk_line shift 34 /* because chunk_line==chunk */ - {default} reduce 105 def_link ::= LINE_DEF_LINK + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 108 ** Parsing conflict ** + chunk shift 35 + chunk_line shift 35 /* because chunk_line==chunk */ + {default} reduce 108 def_link ::= LINE_DEF_LINK State 19: chunk ::= * chunk chunk_line @@ -786,44 +794,44 @@ State 19: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT nested_chunk ::= empty indented_line * chunk - (33) nested_chunk ::= empty indented_line * + (35) nested_chunk ::= empty indented_line * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 33 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 35 ** Parsing conflict ** chunk shift 36 chunk_line shift 36 /* because chunk_line==chunk */ - {default} reduce 33 nested_chunk ::= empty indented_line + {default} reduce 35 nested_chunk ::= empty indented_line State 20: nested_chunks ::= nested_chunks * nested_chunk nested_chunk ::= * empty indented_line chunk nested_chunk ::= * empty indented_line nested_chunk ::= * empty - (98) tail ::= nested_chunks * + (101) tail ::= nested_chunks * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 98 ** Parsing conflict ** - empty shift 30 - nested_chunk shift-reduce 31 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 98 tail ::= nested_chunks + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 101 ** Parsing conflict ** + empty shift 31 + nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk + {default} reduce 101 tail ::= nested_chunks State 21: nested_chunks ::= nested_chunks * nested_chunk nested_chunk ::= * empty indented_line chunk nested_chunk ::= * empty indented_line nested_chunk ::= * empty - (35) opt_ext_chunk ::= chunk nested_chunks * + (37) opt_ext_chunk ::= chunk nested_chunks * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 35 ** Parsing conflict ** - empty shift 30 - nested_chunk shift-reduce 31 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 35 opt_ext_chunk ::= chunk nested_chunks + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 37 ** Parsing conflict ** + empty shift 31 + nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk + {default} reduce 37 opt_ext_chunk ::= chunk nested_chunks State 22: nested_chunks ::= nested_chunks * nested_chunk @@ -832,13 +840,13 @@ State 22: nested_chunk ::= * empty empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - (75) item_enum ::= LINE_LIST_ENUMERATED nested_chunks * + (77) item_enum ::= LINE_LIST_ENUMERATED nested_chunks * - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 75 ** Parsing conflict ** - empty shift 30 - nested_chunk shift-reduce 31 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 75 item_enum ::= LINE_LIST_ENUMERATED nested_chunks + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 77 ** Parsing conflict ** + empty shift 31 + nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk + {default} reduce 77 item_enum ::= LINE_LIST_ENUMERATED nested_chunks State 23: nested_chunks ::= nested_chunks * nested_chunk @@ -847,32 +855,32 @@ State 23: nested_chunk ::= * empty empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - (70) item_bullet ::= LINE_LIST_BULLETED nested_chunks * + (72) item_bullet ::= LINE_LIST_BULLETED nested_chunks * - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 70 ** Parsing conflict ** - empty shift 30 - nested_chunk shift-reduce 31 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 70 item_bullet ::= LINE_LIST_BULLETED nested_chunks + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 72 ** Parsing conflict ** + empty shift 31 + nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk + {default} reduce 72 item_bullet ::= LINE_LIST_BULLETED nested_chunks State 24: nested_chunks ::= nested_chunks * nested_chunk nested_chunk ::= * empty indented_line chunk nested_chunk ::= * empty indented_line nested_chunk ::= * empty - (34) ext_chunk ::= chunk nested_chunks * + (36) ext_chunk ::= chunk nested_chunks * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 108 empty ::= LINE_EMPTY - LINE_EMPTY reduce 34 ** Parsing conflict ** - empty shift 30 - nested_chunk shift-reduce 31 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 34 ext_chunk ::= chunk nested_chunks + LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY reduce 36 ** Parsing conflict ** + empty shift 31 + nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk + {default} reduce 36 ext_chunk ::= chunk nested_chunks State 25: fenced_block ::= fenced_5 * LINE_FENCE_BACKTICK_5 - (115) fenced_block ::= fenced_5 * + (118) fenced_block ::= fenced_5 * fenced_5 ::= fenced_5 * fenced_line fenced_5 ::= fenced_5 * LINE_FENCE_BACKTICK_3 fenced_5 ::= fenced_5 * LINE_FENCE_BACKTICK_START_3 @@ -886,35 +894,35 @@ State 25: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - LINE_HR shift-reduce 121 fenced_line ::= LINE_HR - LINE_HR reduce 115 ** Parsing conflict ** - LINE_CONTINUATION shift-reduce 118 fenced_line ::= LINE_CONTINUATION - LINE_FALLBACK shift-reduce 120 fenced_line ::= LINE_FALLBACK - LINE_HTML shift-reduce 122 fenced_line ::= LINE_HTML - LINE_HTML reduce 115 ** Parsing conflict ** - LINE_FENCE_BACKTICK_3 shift-reduce 58 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 - LINE_FENCE_BACKTICK_3 reduce 115 ** Parsing conflict ** - LINE_FENCE_BACKTICK_4 shift-reduce 60 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 - LINE_FENCE_BACKTICK_4 reduce 115 ** Parsing conflict ** - LINE_FENCE_BACKTICK_5 shift-reduce 56 fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 - LINE_FENCE_BACKTICK_5 reduce 115 ** Parsing conflict ** - LINE_FENCE_BACKTICK_START_3 shift-reduce 59 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 - LINE_FENCE_BACKTICK_START_3 reduce 115 ** Parsing conflict ** - LINE_FENCE_BACKTICK_START_4 shift-reduce 61 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 - LINE_FENCE_BACKTICK_START_4 reduce 115 ** Parsing conflict ** - LINE_STOP_COMMENT shift-reduce 124 fenced_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 115 ** Parsing conflict ** - LINE_EMPTY shift-reduce 119 fenced_line ::= LINE_EMPTY - LINE_EMPTY reduce 115 ** Parsing conflict ** - LINE_START_COMMENT shift-reduce 123 fenced_line ::= LINE_START_COMMENT - LINE_START_COMMENT reduce 115 ** Parsing conflict ** - fenced_line shift-reduce 57 fenced_5 ::= fenced_5 fenced_line - {default} reduce 115 fenced_block ::= fenced_5 + LINE_HR shift-reduce 124 fenced_line ::= LINE_HR + LINE_HR reduce 118 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 121 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 123 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 125 fenced_line ::= LINE_HTML + LINE_HTML reduce 118 ** Parsing conflict ** + LINE_FENCE_BACKTICK_3 shift-reduce 60 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_3 reduce 118 ** Parsing conflict ** + LINE_FENCE_BACKTICK_4 shift-reduce 62 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_4 reduce 118 ** Parsing conflict ** + LINE_FENCE_BACKTICK_5 shift-reduce 58 fenced_block ::= fenced_5 LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_5 reduce 118 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_3 shift-reduce 61 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_3 reduce 118 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_4 shift-reduce 63 fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4 + LINE_FENCE_BACKTICK_START_4 reduce 118 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 127 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 118 ** Parsing conflict ** + LINE_EMPTY shift-reduce 122 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 118 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 126 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 118 ** Parsing conflict ** + fenced_line shift-reduce 59 fenced_5 ::= fenced_5 fenced_line + {default} reduce 118 fenced_block ::= fenced_5 State 26: fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_4 fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_5 - (112) fenced_block ::= fenced_4 * + (115) fenced_block ::= fenced_4 * fenced_4 ::= fenced_4 * fenced_line fenced_4 ::= fenced_4 * LINE_FENCE_BACKTICK_3 fenced_4 ::= fenced_4 * LINE_FENCE_BACKTICK_START_3 @@ -926,34 +934,34 @@ State 26: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - LINE_HR shift-reduce 121 fenced_line ::= LINE_HR - LINE_HR reduce 112 ** Parsing conflict ** - LINE_CONTINUATION shift-reduce 118 fenced_line ::= LINE_CONTINUATION - LINE_FALLBACK shift-reduce 120 fenced_line ::= LINE_FALLBACK - LINE_HTML shift-reduce 122 fenced_line ::= LINE_HTML - LINE_HTML reduce 112 ** Parsing conflict ** - LINE_FENCE_BACKTICK_3 shift-reduce 54 fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 - LINE_FENCE_BACKTICK_3 reduce 112 ** Parsing conflict ** - LINE_FENCE_BACKTICK_4 shift-reduce 51 fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 - LINE_FENCE_BACKTICK_4 reduce 112 ** Parsing conflict ** - LINE_FENCE_BACKTICK_5 shift-reduce 52 fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 - LINE_FENCE_BACKTICK_5 reduce 112 ** Parsing conflict ** - LINE_FENCE_BACKTICK_START_3 shift-reduce 55 fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 - LINE_FENCE_BACKTICK_START_3 reduce 112 ** Parsing conflict ** - LINE_STOP_COMMENT shift-reduce 124 fenced_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 112 ** Parsing conflict ** - LINE_EMPTY shift-reduce 119 fenced_line ::= LINE_EMPTY - LINE_EMPTY reduce 112 ** Parsing conflict ** - LINE_START_COMMENT shift-reduce 123 fenced_line ::= LINE_START_COMMENT - LINE_START_COMMENT reduce 112 ** Parsing conflict ** - fenced_line shift-reduce 53 fenced_4 ::= fenced_4 fenced_line - {default} reduce 112 fenced_block ::= fenced_4 + LINE_HR shift-reduce 124 fenced_line ::= LINE_HR + LINE_HR reduce 115 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 121 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 123 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 125 fenced_line ::= LINE_HTML + LINE_HTML reduce 115 ** Parsing conflict ** + LINE_FENCE_BACKTICK_3 shift-reduce 56 fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_3 reduce 115 ** Parsing conflict ** + LINE_FENCE_BACKTICK_4 shift-reduce 53 fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_4 reduce 115 ** Parsing conflict ** + LINE_FENCE_BACKTICK_5 shift-reduce 54 fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_5 reduce 115 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_3 shift-reduce 57 fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_3 reduce 115 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 127 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 115 ** Parsing conflict ** + LINE_EMPTY shift-reduce 122 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 115 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 126 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 115 ** Parsing conflict ** + fenced_line shift-reduce 55 fenced_4 ::= fenced_4 fenced_line + {default} reduce 115 fenced_block ::= fenced_4 State 27: fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_3 fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_4 fenced_block ::= fenced_3 * LINE_FENCE_BACKTICK_5 - (109) fenced_block ::= fenced_3 * + (112) fenced_block ::= fenced_3 * fenced_3 ::= fenced_3 * fenced_line fenced_line ::= * LINE_CONTINUATION fenced_line ::= * LINE_EMPTY @@ -963,30 +971,30 @@ State 27: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - LINE_HR shift-reduce 121 fenced_line ::= LINE_HR - LINE_HR reduce 109 ** Parsing conflict ** - LINE_CONTINUATION shift-reduce 118 fenced_line ::= LINE_CONTINUATION - LINE_FALLBACK shift-reduce 120 fenced_line ::= LINE_FALLBACK - LINE_HTML shift-reduce 122 fenced_line ::= LINE_HTML - LINE_HTML reduce 109 ** Parsing conflict ** - LINE_FENCE_BACKTICK_3 shift-reduce 47 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 - LINE_FENCE_BACKTICK_3 reduce 109 ** Parsing conflict ** - LINE_FENCE_BACKTICK_4 shift-reduce 48 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 - LINE_FENCE_BACKTICK_4 reduce 109 ** Parsing conflict ** - LINE_FENCE_BACKTICK_5 shift-reduce 49 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 - LINE_FENCE_BACKTICK_5 reduce 109 ** Parsing conflict ** - LINE_STOP_COMMENT shift-reduce 124 fenced_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 109 ** Parsing conflict ** - LINE_EMPTY shift-reduce 119 fenced_line ::= LINE_EMPTY - LINE_EMPTY reduce 109 ** Parsing conflict ** - LINE_START_COMMENT shift-reduce 123 fenced_line ::= LINE_START_COMMENT - LINE_START_COMMENT reduce 109 ** Parsing conflict ** - fenced_line shift-reduce 50 fenced_3 ::= fenced_3 fenced_line - {default} reduce 109 fenced_block ::= fenced_3 + LINE_HR shift-reduce 124 fenced_line ::= LINE_HR + LINE_HR reduce 112 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 121 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 123 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 125 fenced_line ::= LINE_HTML + LINE_HTML reduce 112 ** Parsing conflict ** + LINE_FENCE_BACKTICK_3 shift-reduce 49 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_3 reduce 112 ** Parsing conflict ** + LINE_FENCE_BACKTICK_4 shift-reduce 50 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_4 reduce 112 ** Parsing conflict ** + LINE_FENCE_BACKTICK_5 shift-reduce 51 fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_5 reduce 112 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 127 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 112 ** Parsing conflict ** + LINE_EMPTY shift-reduce 122 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 112 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 126 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 112 ** Parsing conflict ** + fenced_line shift-reduce 52 fenced_3 ::= fenced_3 fenced_line + {default} reduce 112 fenced_block ::= fenced_3 State 28: html_com_block ::= html_comment * LINE_STOP_COMMENT - (130) html_com_block ::= html_comment * + (133) html_com_block ::= html_comment * html_comment ::= html_comment * comment_line comment_line ::= * LINE_CONTINUATION comment_line ::= * LINE_EMPTY @@ -994,165 +1002,167 @@ State 28: comment_line ::= * LINE_HR comment_line ::= * LINE_HTML - LINE_HR shift-reduce 135 comment_line ::= LINE_HR - LINE_HR reduce 130 ** Parsing conflict ** - LINE_CONTINUATION shift-reduce 132 comment_line ::= LINE_CONTINUATION - LINE_FALLBACK shift-reduce 134 comment_line ::= LINE_FALLBACK - LINE_HTML shift-reduce 136 comment_line ::= LINE_HTML - LINE_HTML reduce 130 ** Parsing conflict ** - LINE_STOP_COMMENT shift-reduce 63 html_com_block ::= html_comment LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 130 ** Parsing conflict ** - LINE_EMPTY shift-reduce 133 comment_line ::= LINE_EMPTY - LINE_EMPTY reduce 130 ** Parsing conflict ** - comment_line shift-reduce 64 html_comment ::= html_comment comment_line - {default} reduce 130 html_com_block ::= html_comment + LINE_HR shift-reduce 138 comment_line ::= LINE_HR + LINE_HR reduce 133 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 135 comment_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 137 comment_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 139 comment_line ::= LINE_HTML + LINE_HTML reduce 133 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 65 html_com_block ::= html_comment LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 133 ** Parsing conflict ** + LINE_EMPTY shift-reduce 136 comment_line ::= LINE_EMPTY + LINE_EMPTY reduce 133 ** Parsing conflict ** + comment_line shift-reduce 66 html_comment ::= html_comment comment_line + {default} reduce 133 html_com_block ::= html_comment State 29: - (20) block ::= html_block * + (21) block ::= html_block * html_block ::= html_block * html_line html_line ::= * LINE_CONTINUATION html_line ::= * LINE_FALLBACK html_line ::= * LINE_HR html_line ::= * LINE_HTML - LINE_HR shift-reduce 128 html_line ::= LINE_HR - LINE_HR reduce 20 ** Parsing conflict ** - LINE_CONTINUATION shift-reduce 126 html_line ::= LINE_CONTINUATION - LINE_FALLBACK shift-reduce 127 html_line ::= LINE_FALLBACK - LINE_HTML shift-reduce 129 html_line ::= LINE_HTML - LINE_HTML reduce 20 ** Parsing conflict ** - html_line shift-reduce 62 html_block ::= html_block html_line - {default} reduce 20 block ::= html_block + LINE_HR shift-reduce 131 html_line ::= LINE_HR + LINE_HR reduce 21 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 129 html_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 130 html_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 132 html_line ::= LINE_HTML + LINE_HTML reduce 21 ** Parsing conflict ** + html_line shift-reduce 64 html_block ::= html_block html_line + {default} reduce 21 block ::= html_block State 30: + (26) block ::= meta_block * + block ::= meta_block * LINE_SETEXT_2 + meta_block ::= meta_block * meta_line + meta_line ::= * LINE_META + meta_line ::= * LINE_CONTINUATION + + LINE_SETEXT_2 shift-reduce 27 block ::= meta_block LINE_SETEXT_2 + LINE_CONTINUATION shift-reduce 145 meta_line ::= LINE_CONTINUATION + LINE_META shift-reduce 144 meta_line ::= LINE_META + LINE_META reduce 26 ** Parsing conflict ** + meta_line shift-reduce 79 meta_block ::= meta_block meta_line + {default} reduce 26 block ::= meta_block + +State 31: nested_chunk ::= empty * indented_line chunk nested_chunk ::= empty * indented_line - (93) nested_chunk ::= empty * + (96) nested_chunk ::= empty * indented_line ::= * LINE_INDENTED_TAB indented_line ::= * LINE_INDENTED_SPACE empty ::= empty * LINE_EMPTY - LINE_INDENTED_TAB shift-reduce 94 indented_line ::= LINE_INDENTED_TAB - LINE_INDENTED_TAB reduce 93 ** Parsing conflict ** - LINE_INDENTED_SPACE shift-reduce 95 indented_line ::= LINE_INDENTED_SPACE - LINE_INDENTED_SPACE reduce 93 ** Parsing conflict ** - LINE_EMPTY shift-reduce 46 empty ::= empty LINE_EMPTY - LINE_EMPTY reduce 93 ** Parsing conflict ** + LINE_INDENTED_TAB shift-reduce 97 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_TAB reduce 96 ** Parsing conflict ** + LINE_INDENTED_SPACE shift-reduce 98 indented_line ::= LINE_INDENTED_SPACE + LINE_INDENTED_SPACE reduce 96 ** Parsing conflict ** + LINE_EMPTY shift-reduce 48 empty ::= empty LINE_EMPTY + LINE_EMPTY reduce 96 ** Parsing conflict ** indented_line shift 19 - {default} reduce 93 nested_chunk ::= empty + {default} reduce 96 nested_chunk ::= empty -State 31: - (22) block ::= indented_code * +State 32: + (23) block ::= indented_code * indented_line ::= * LINE_INDENTED_TAB indented_line ::= * LINE_INDENTED_SPACE indented_code ::= indented_code * indented_line indented_code ::= indented_code * LINE_EMPTY - LINE_INDENTED_TAB shift-reduce 94 indented_line ::= LINE_INDENTED_TAB - LINE_INDENTED_TAB reduce 22 ** Parsing conflict ** - LINE_INDENTED_SPACE shift-reduce 95 indented_line ::= LINE_INDENTED_SPACE - LINE_INDENTED_SPACE reduce 22 ** Parsing conflict ** - LINE_EMPTY shift-reduce 66 indented_code ::= indented_code LINE_EMPTY - LINE_EMPTY reduce 22 ** Parsing conflict ** - indented_line shift-reduce 65 indented_code ::= indented_code indented_line - {default} reduce 22 block ::= indented_code - -State 32: - chunk ::= chunk * chunk_line - chunk_line ::= * LINE_CONTINUATION - chunk_line ::= * LINE_STOP_COMMENT - (78) para ::= LINE_PLAIN chunk * - - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 78 ** Parsing conflict ** - chunk_line shift-reduce 30 chunk ::= chunk chunk_line - {default} reduce 78 para ::= LINE_PLAIN chunk + LINE_INDENTED_TAB shift-reduce 97 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_TAB reduce 23 ** Parsing conflict ** + LINE_INDENTED_SPACE shift-reduce 98 indented_line ::= LINE_INDENTED_SPACE + LINE_INDENTED_SPACE reduce 23 ** Parsing conflict ** + LINE_EMPTY shift-reduce 68 indented_code ::= indented_code LINE_EMPTY + LINE_EMPTY reduce 23 ** Parsing conflict ** + indented_line shift-reduce 67 indented_code ::= indented_code indented_line + {default} reduce 23 block ::= indented_code State 33: chunk ::= chunk * chunk_line chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT - (41) def_abbreviation ::= LINE_DEF_ABBREVIATION chunk * + (81) para ::= LINE_PLAIN chunk * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 41 ** Parsing conflict ** - chunk_line shift-reduce 30 chunk ::= chunk chunk_line - {default} reduce 41 def_abbreviation ::= LINE_DEF_ABBREVIATION chunk + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 81 ** Parsing conflict ** + chunk_line shift-reduce 32 chunk ::= chunk chunk_line + {default} reduce 81 para ::= LINE_PLAIN chunk State 34: chunk ::= chunk * chunk_line chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT - (40) def_link ::= LINE_DEF_LINK chunk * + (43) def_abbreviation ::= LINE_DEF_ABBREVIATION chunk * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 40 ** Parsing conflict ** - chunk_line shift-reduce 30 chunk ::= chunk chunk_line - {default} reduce 40 def_link ::= LINE_DEF_LINK chunk + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 43 ** Parsing conflict ** + chunk_line shift-reduce 32 chunk ::= chunk chunk_line + {default} reduce 43 def_abbreviation ::= LINE_DEF_ABBREVIATION chunk State 35: - (25) block ::= meta_block * - meta_block ::= meta_block * meta_line - meta_line ::= * LINE_META - meta_line ::= * LINE_CONTINUATION + chunk ::= chunk * chunk_line + chunk_line ::= * LINE_CONTINUATION + chunk_line ::= * LINE_STOP_COMMENT + (42) def_link ::= LINE_DEF_LINK chunk * - LINE_CONTINUATION shift-reduce 142 meta_line ::= LINE_CONTINUATION - LINE_META shift-reduce 141 meta_line ::= LINE_META - LINE_META reduce 25 ** Parsing conflict ** - meta_line shift-reduce 77 meta_block ::= meta_block meta_line - {default} reduce 25 block ::= meta_block + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 42 ** Parsing conflict ** + chunk_line shift-reduce 32 chunk ::= chunk chunk_line + {default} reduce 42 def_link ::= LINE_DEF_LINK chunk State 36: chunk ::= chunk * chunk_line chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT - (32) nested_chunk ::= empty indented_line chunk * + (34) nested_chunk ::= empty indented_line chunk * - LINE_CONTINUATION shift-reduce 90 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 91 chunk_line ::= LINE_STOP_COMMENT - LINE_STOP_COMMENT reduce 32 ** Parsing conflict ** - chunk_line shift-reduce 30 chunk ::= chunk chunk_line - {default} reduce 32 nested_chunk ::= empty indented_line chunk + LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 34 ** Parsing conflict ** + chunk_line shift-reduce 32 chunk ::= chunk chunk_line + {default} reduce 34 nested_chunk ::= empty indented_line chunk State 37: - (11) block ::= blockquote * + (12) block ::= blockquote * blockquote ::= blockquote * quote_line quote_line ::= * LINE_BLOCKQUOTE quote_line ::= * LINE_CONTINUATION - LINE_CONTINUATION shift-reduce 101 quote_line ::= LINE_CONTINUATION - LINE_BLOCKQUOTE shift-reduce 100 quote_line ::= LINE_BLOCKQUOTE - LINE_BLOCKQUOTE reduce 11 ** Parsing conflict ** - quote_line shift-reduce 36 blockquote ::= blockquote quote_line - {default} reduce 11 block ::= blockquote + LINE_CONTINUATION shift-reduce 104 quote_line ::= LINE_CONTINUATION + LINE_BLOCKQUOTE shift-reduce 103 quote_line ::= LINE_BLOCKQUOTE + LINE_BLOCKQUOTE reduce 12 ** Parsing conflict ** + quote_line shift-reduce 38 blockquote ::= blockquote quote_line + {default} reduce 12 block ::= blockquote State 38: defs ::= defs * def def ::= * LINE_DEFINITION tail def ::= * LINE_DEFINITION - (151) para ::= defs * + (154) para ::= defs * LINE_DEFINITION shift 5 - LINE_DEFINITION reduce 151 ** Parsing conflict ** - def shift-reduce 43 defs ::= defs def - {default} reduce 151 para ::= defs + LINE_DEFINITION reduce 154 ** Parsing conflict ** + def shift-reduce 45 defs ::= defs def + {default} reduce 154 para ::= defs State 39: - (42) definition_block ::= para defs * + (44) definition_block ::= para defs * defs ::= defs * def def ::= * LINE_DEFINITION tail def ::= * LINE_DEFINITION LINE_DEFINITION shift 5 - LINE_DEFINITION reduce 42 ** Parsing conflict ** - def shift-reduce 43 defs ::= defs def - {default} reduce 42 definition_block ::= para defs + LINE_DEFINITION reduce 44 ** Parsing conflict ** + def shift-reduce 45 defs ::= defs def + {default} reduce 44 definition_block ::= para defs State 40: - (24) block ::= list_enum * + (25) block ::= list_enum * list_enum ::= list_enum * item_enum item_enum ::= * LINE_LIST_ENUMERATED ext_chunk item_enum ::= * LINE_LIST_ENUMERATED chunk @@ -1160,12 +1170,12 @@ State 40: item_enum ::= * LINE_LIST_ENUMERATED LINE_LIST_ENUMERATED shift 6 - LINE_LIST_ENUMERATED reduce 24 ** Parsing conflict ** - item_enum shift-reduce 72 list_enum ::= list_enum item_enum - {default} reduce 24 block ::= list_enum + LINE_LIST_ENUMERATED reduce 25 ** Parsing conflict ** + item_enum shift-reduce 74 list_enum ::= list_enum item_enum + {default} reduce 25 block ::= list_enum State 41: - (23) block ::= list_bullet * + (24) block ::= list_bullet * list_bullet ::= list_bullet * item_bullet item_bullet ::= * LINE_LIST_BULLETED ext_chunk item_bullet ::= * LINE_LIST_BULLETED chunk @@ -1173,36 +1183,44 @@ State 41: item_bullet ::= * LINE_LIST_BULLETED LINE_LIST_BULLETED shift 7 - LINE_LIST_BULLETED reduce 23 ** Parsing conflict ** - item_bullet shift-reduce 67 list_bullet ::= list_bullet item_bullet - {default} reduce 23 block ::= list_bullet + LINE_LIST_BULLETED reduce 24 ** Parsing conflict ** + item_bullet shift-reduce 69 list_bullet ::= list_bullet item_bullet + {default} reduce 24 block ::= list_bullet State 42: table_header ::= header_rows * LINE_TABLE_SEPARATOR header_rows ::= header_rows * LINE_TABLE - (149) row ::= header_rows * + (152) row ::= header_rows * - LINE_TABLE shift-reduce 83 header_rows ::= header_rows LINE_TABLE - LINE_TABLE reduce 149 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 82 table_header ::= header_rows LINE_TABLE_SEPARATOR - LINE_TABLE_SEPARATOR reduce 149 ** Parsing conflict ** - {default} reduce 149 row ::= header_rows + LINE_TABLE shift-reduce 86 header_rows ::= header_rows LINE_TABLE + LINE_TABLE reduce 152 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 85 table_header ::= header_rows LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 152 ** Parsing conflict ** + {default} reduce 152 row ::= header_rows State 43: header_rows ::= header_rows * LINE_TABLE - (149) row ::= header_rows * + (152) row ::= header_rows * - LINE_TABLE shift-reduce 83 header_rows ::= header_rows LINE_TABLE - LINE_TABLE reduce 149 ** Parsing conflict ** - {default} reduce 149 row ::= header_rows + LINE_TABLE shift-reduce 86 header_rows ::= header_rows LINE_TABLE + LINE_TABLE reduce 152 ** Parsing conflict ** + {default} reduce 152 row ::= header_rows State 44: - (18) block ::= empty * + (19) block ::= empty * empty ::= empty * LINE_EMPTY - LINE_EMPTY shift-reduce 46 empty ::= empty LINE_EMPTY - LINE_EMPTY reduce 18 ** Parsing conflict ** - {default} reduce 18 block ::= empty + LINE_EMPTY shift-reduce 48 empty ::= empty LINE_EMPTY + LINE_EMPTY reduce 19 ** Parsing conflict ** + {default} reduce 19 block ::= empty + +State 45: + (10) block ::= LINE_YAML * + meta_block ::= LINE_YAML * LINE_META + + LINE_META shift-reduce 80 meta_block ::= LINE_YAML LINE_META + LINE_META reduce 10 ** Parsing conflict ** + {default} reduce 10 block ::= LINE_YAML ---------------------------------------------------- Symbols: @@ -1210,88 +1228,89 @@ Symbols: 1: LINE_HR 2: LINE_SETEXT_1 3: LINE_SETEXT_2 - 4: LINE_CONTINUATION - 5: LINE_PLAIN - 6: LINE_INDENTED_TAB - 7: LINE_INDENTED_SPACE - 8: LINE_TABLE - 9: LINE_TABLE_SEPARATOR - 10: LINE_FALLBACK - 11: LINE_HTML - 12: LINE_ATX_1 - 13: LINE_ATX_2 - 14: LINE_ATX_3 - 15: LINE_ATX_4 - 16: LINE_ATX_5 - 17: LINE_ATX_6 - 18: LINE_BLOCKQUOTE - 19: LINE_LIST_BULLETED - 20: LINE_LIST_ENUMERATED - 21: LINE_DEF_ABBREVIATION - 22: LINE_DEF_CITATION - 23: LINE_DEF_FOOTNOTE - 24: LINE_DEF_GLOSSARY - 25: LINE_DEF_LINK - 26: LINE_TOC - 27: LINE_DEFINITION - 28: LINE_META - 29: LINE_BACKTICK - 30: LINE_FENCE_BACKTICK_3 - 31: LINE_FENCE_BACKTICK_4 - 32: LINE_FENCE_BACKTICK_5 - 33: LINE_FENCE_BACKTICK_START_3 - 34: LINE_FENCE_BACKTICK_START_4 - 35: LINE_FENCE_BACKTICK_START_5 - 36: LINE_STOP_COMMENT - 37: LINE_EMPTY - 38: LINE_START_COMMENT - 39: error: - 40: doc: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT - 41: blocks: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT - 42: block: LINE_HR LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT - 43: blockquote: LINE_BLOCKQUOTE - 44: def_abbreviation: LINE_DEF_ABBREVIATION - 45: def_citation: LINE_DEF_CITATION - 46: def_footnote: LINE_DEF_FOOTNOTE - 47: def_glossary: LINE_DEF_GLOSSARY - 48: def_link: LINE_DEF_LINK - 49: definition_block: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT - 50: empty: LINE_EMPTY - 51: fenced_block: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 - 52: html_block: LINE_HTML - 53: html_com_block: LINE_START_COMMENT - 54: indented_code: LINE_INDENTED_TAB LINE_INDENTED_SPACE - 55: list_bullet: LINE_LIST_BULLETED - 56: list_enum: LINE_LIST_ENUMERATED - 57: meta_block: LINE_META - 58: para: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT - 59: setext_1: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT - 60: setext_2: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT - 61: table: LINE_TABLE - 62: chunk: LINE_CONTINUATION LINE_STOP_COMMENT - 63: chunk_line: LINE_CONTINUATION LINE_STOP_COMMENT - 64: nested_chunks: LINE_EMPTY - 65: nested_chunk: LINE_EMPTY - 66: indented_line: LINE_INDENTED_TAB LINE_INDENTED_SPACE - 67: ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT - 68: opt_ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT - 69: tail: LINE_CONTINUATION LINE_STOP_COMMENT LINE_EMPTY - 70: quote_line: LINE_CONTINUATION LINE_BLOCKQUOTE - 71: defs: LINE_DEFINITION - 72: def: LINE_DEFINITION - 73: fenced_3: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_START_3 - 74: fenced_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT - 75: fenced_4: LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_START_4 - 76: fenced_5: LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_5 - 77: html_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML - 78: html_comment: LINE_START_COMMENT - 79: comment_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_EMPTY - 80: item_bullet: LINE_LIST_BULLETED - 81: item_enum: LINE_LIST_ENUMERATED - 82: meta_line: LINE_CONTINUATION LINE_META - 83: table_header: LINE_TABLE - 84: table_body: LINE_TABLE LINE_TABLE_SEPARATOR - 85: header_rows: LINE_TABLE - 86: table_section: LINE_TABLE LINE_TABLE_SEPARATOR - 87: all_rows: LINE_TABLE LINE_TABLE_SEPARATOR - 88: row: LINE_TABLE LINE_TABLE_SEPARATOR + 4: LINE_YAML + 5: LINE_CONTINUATION + 6: LINE_PLAIN + 7: LINE_INDENTED_TAB + 8: LINE_INDENTED_SPACE + 9: LINE_TABLE + 10: LINE_TABLE_SEPARATOR + 11: LINE_FALLBACK + 12: LINE_HTML + 13: LINE_ATX_1 + 14: LINE_ATX_2 + 15: LINE_ATX_3 + 16: LINE_ATX_4 + 17: LINE_ATX_5 + 18: LINE_ATX_6 + 19: LINE_BLOCKQUOTE + 20: LINE_LIST_BULLETED + 21: LINE_LIST_ENUMERATED + 22: LINE_DEF_ABBREVIATION + 23: LINE_DEF_CITATION + 24: LINE_DEF_FOOTNOTE + 25: LINE_DEF_GLOSSARY + 26: LINE_DEF_LINK + 27: LINE_TOC + 28: LINE_DEFINITION + 29: LINE_META + 30: LINE_BACKTICK + 31: LINE_FENCE_BACKTICK_3 + 32: LINE_FENCE_BACKTICK_4 + 33: LINE_FENCE_BACKTICK_5 + 34: LINE_FENCE_BACKTICK_START_3 + 35: LINE_FENCE_BACKTICK_START_4 + 36: LINE_FENCE_BACKTICK_START_5 + 37: LINE_STOP_COMMENT + 38: LINE_EMPTY + 39: LINE_START_COMMENT + 40: error: + 41: doc: LINE_HR LINE_YAML LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT + 42: blocks: LINE_HR LINE_YAML LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT + 43: block: LINE_HR LINE_YAML LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR LINE_HTML LINE_ATX_1 LINE_ATX_2 LINE_ATX_3 LINE_ATX_4 LINE_ATX_5 LINE_ATX_6 LINE_BLOCKQUOTE LINE_LIST_BULLETED LINE_LIST_ENUMERATED LINE_DEF_ABBREVIATION LINE_DEF_CITATION LINE_DEF_FOOTNOTE LINE_DEF_GLOSSARY LINE_DEF_LINK LINE_TOC LINE_DEFINITION LINE_META LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT + 44: blockquote: LINE_BLOCKQUOTE + 45: def_abbreviation: LINE_DEF_ABBREVIATION + 46: def_citation: LINE_DEF_CITATION + 47: def_footnote: LINE_DEF_FOOTNOTE + 48: def_glossary: LINE_DEF_GLOSSARY + 49: def_link: LINE_DEF_LINK + 50: definition_block: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT + 51: empty: LINE_EMPTY + 52: fenced_block: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_3 LINE_FENCE_BACKTICK_START_4 LINE_FENCE_BACKTICK_START_5 + 53: html_block: LINE_HTML + 54: html_com_block: LINE_START_COMMENT + 55: indented_code: LINE_INDENTED_TAB LINE_INDENTED_SPACE + 56: list_bullet: LINE_LIST_BULLETED + 57: list_enum: LINE_LIST_ENUMERATED + 58: meta_block: LINE_YAML LINE_META + 59: para: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT + 60: setext_1: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT + 61: setext_2: LINE_PLAIN LINE_TABLE LINE_TABLE_SEPARATOR LINE_DEFINITION LINE_STOP_COMMENT + 62: table: LINE_TABLE + 63: chunk: LINE_CONTINUATION LINE_STOP_COMMENT + 64: chunk_line: LINE_CONTINUATION LINE_STOP_COMMENT + 65: nested_chunks: LINE_EMPTY + 66: nested_chunk: LINE_EMPTY + 67: indented_line: LINE_INDENTED_TAB LINE_INDENTED_SPACE + 68: ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT + 69: opt_ext_chunk: LINE_CONTINUATION LINE_STOP_COMMENT + 70: tail: LINE_CONTINUATION LINE_STOP_COMMENT LINE_EMPTY + 71: quote_line: LINE_CONTINUATION LINE_BLOCKQUOTE + 72: defs: LINE_DEFINITION + 73: def: LINE_DEFINITION + 74: fenced_3: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_START_3 + 75: fenced_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_STOP_COMMENT LINE_EMPTY LINE_START_COMMENT + 76: fenced_4: LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_START_4 + 77: fenced_5: LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_5 + 78: html_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML + 79: html_comment: LINE_START_COMMENT + 80: comment_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_EMPTY + 81: item_bullet: LINE_LIST_BULLETED + 82: item_enum: LINE_LIST_ENUMERATED + 83: meta_line: LINE_CONTINUATION LINE_META + 84: table_header: LINE_TABLE + 85: table_body: LINE_TABLE LINE_TABLE_SEPARATOR + 86: header_rows: LINE_TABLE + 87: table_section: LINE_TABLE LINE_TABLE_SEPARATOR + 88: all_rows: LINE_TABLE LINE_TABLE_SEPARATOR + 89: row: LINE_TABLE LINE_TABLE_SEPARATOR diff --git a/Sources/libMultiMarkdown/parser.y b/Sources/libMultiMarkdown/parser.y index b152601..6eee6b4 100644 --- a/Sources/libMultiMarkdown/parser.y +++ b/Sources/libMultiMarkdown/parser.y @@ -62,7 +62,7 @@ %extra_argument { mmd_engine * engine } -%fallback LINE_HR LINE_SETEXT_1 LINE_SETEXT_2. +%fallback LINE_HR LINE_SETEXT_1 LINE_SETEXT_2 LINE_YAML. //%fallback LINE_PLAIN LINE_TABLE_SEPARATOR. @@ -111,6 +111,7 @@ block(A) ::= LINE_ATX_5(B). { A = token_new_parent(B, BLOCK_H5); stack_push( block(A) ::= LINE_ATX_6(B). { A = token_new_parent(B, BLOCK_H6); stack_push(engine->header_stack, A); } block(A) ::= LINE_HR(B). { A = token_new_parent(B, BLOCK_HR); } +block(A) ::= LINE_YAML(B). { A = token_new_parent(B, BLOCK_HR); } block(A) ::= LINE_TOC(B). { A = token_new_parent(B, BLOCK_TOC); } @@ -132,6 +133,7 @@ block(A) ::= indented_code(B). { A = token_new_parent(B, BLOCK_CODE_INDENTED) block(A) ::= list_bullet(B). { A = token_new_parent(B, BLOCK_LIST_BULLETED); is_list_loose(A); } block(A) ::= list_enum(B). { A = token_new_parent(B, BLOCK_LIST_ENUMERATED); is_list_loose(A); } block(A) ::= meta_block(B). { A = token_new_parent(B, BLOCK_META); } +block(A) ::= meta_block(B) LINE_SETEXT_2(C). { A = token_new_parent(B, BLOCK_META); token_chain_append(A, C); } block(A) ::= para(B). { A = token_new_parent(B, BLOCK_PARA); is_para_html(engine, A); } block(A) ::= setext_1(B). { A = token_new_parent(B, BLOCK_SETEXT_1); stack_push(engine->header_stack, A); } block(A) ::= setext_2(B). { A = token_new_parent(B, BLOCK_SETEXT_2); stack_push(engine->header_stack, A); } @@ -327,6 +329,7 @@ item_enum(A) ::= LINE_LIST_ENUMERATED(B). { A = token_new_parent(B, BLOCK_LI // Metadata meta_block(A) ::= meta_block(B) meta_line(C). { A = B; token_chain_append(B, C); } meta_block ::= LINE_META. +meta_block(A) ::= LINE_YAML(B) LINE_META(C). { A = B; token_chain_append(B, C); } meta_line ::= LINE_META. meta_line ::= LINE_CONTINUATION. diff --git a/tests/MMD6Tests/Metadata YAML.fodt b/tests/MMD6Tests/Metadata YAML.fodt new file mode 100644 index 0000000..f0e8e01 --- /dev/null +++ b/tests/MMD6Tests/Metadata YAML.fodt @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Bibliography + + + + Metadata with YAML + + + + + +foo + + + diff --git a/tests/MMD6Tests/Metadata YAML.html b/tests/MMD6Tests/Metadata YAML.html new file mode 100644 index 0000000..9f6ad7c --- /dev/null +++ b/tests/MMD6Tests/Metadata YAML.html @@ -0,0 +1,15 @@ + + + + + Metadata with YAML + + + +
+ +

foo

+ + + + diff --git a/tests/MMD6Tests/Metadata YAML.htmlc b/tests/MMD6Tests/Metadata YAML.htmlc new file mode 100644 index 0000000..0492452 --- /dev/null +++ b/tests/MMD6Tests/Metadata YAML.htmlc @@ -0,0 +1,8 @@ +
+ +

Title: Metadata with YAML +latex config: article

+ +
+ +

foo

diff --git a/tests/MMD6Tests/Metadata YAML.tex b/tests/MMD6Tests/Metadata YAML.tex new file mode 100644 index 0000000..56f5fcb --- /dev/null +++ b/tests/MMD6Tests/Metadata YAML.tex @@ -0,0 +1,10 @@ +\input{mmd6-article-leader} +\def\mytitle{Metadata with YAML} +\input{mmd6-article-begin} + +\begin{center}\rule{3in}{0.4pt}\end{center} + +foo + +\input{mmd6-article-footer} +\end{document} diff --git a/tests/MMD6Tests/Metadata YAML.text b/tests/MMD6Tests/Metadata YAML.text new file mode 100644 index 0000000..a31cac0 --- /dev/null +++ b/tests/MMD6Tests/Metadata YAML.text @@ -0,0 +1,8 @@ +--- +Title: Metadata with YAML +latex config: article +--- + +--- + +foo