From: Fletcher T. Penney Date: Tue, 12 Sep 2017 19:46:28 +0000 (-0400) Subject: ADDED: Add support for tables without header; test for table with multiple header... X-Git-Tag: 6.2.2^2~10 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=a21a54f0f14b2cc0c1c825bbb5fdcbb52d0e3e5b;p=multimarkdown ADDED: Add support for tables without header; test for table with multiple header rows --- diff --git a/Sources/libMultiMarkdown/parser.c b/Sources/libMultiMarkdown/parser.c index 40cd95a..cc5a01a 100644 --- a/Sources/libMultiMarkdown/parser.c +++ b/Sources/libMultiMarkdown/parser.c @@ -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 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 +#define YYNSTATE 47 +#define YYNRULE 156 +#define YY_MAX_SHIFT 46 +#define YY_MIN_SHIFTREDUCE 158 +#define YY_MAX_SHIFTREDUCE 313 +#define YY_MIN_REDUCE 314 +#define YY_MAX_REDUCE 469 +#define YY_ERROR_ACTION 470 +#define YY_ACCEPT_ACTION 471 +#define YY_NO_ACTION 472 /************* End control #defines *******************************************/ /* Define the yytestcase() macro to be a no-op if is not already defined @@ -190,39 +190,39 @@ typedef union { *********** Begin parsing tables **********************************************/ #define YY_ACTTAB_COUNT (321) static const YYACTIONTYPE yy_action[] = { - /* 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, + /* 0 */ 471, 1, 160, 37, 171, 172, 173, 174, 175, 176, + /* 10 */ 45, 178, 29, 180, 32, 41, 40, 30, 14, 187, + /* 20 */ 188, 189, 44, 246, 13, 13, 32, 44, 240, 241, + /* 30 */ 249, 38, 38, 27, 270, 26, 25, 217, 28, 213, + /* 40 */ 41, 40, 210, 8, 222, 43, 263, 15, 15, 314, + /* 50 */ 167, 308, 312, 46, 5, 16, 256, 257, 308, 42, + /* 60 */ 262, 287, 161, 162, 163, 164, 165, 166, 261, 7, + /* 70 */ 6, 17, 4, 3, 2, 18, 169, 5, 302, 224, + /* 80 */ 272, 275, 278, 273, 276, 279, 306, 270, 293, 167, + /* 90 */ 39, 39, 46, 237, 16, 256, 257, 308, 42, 19, + /* 100 */ 287, 161, 162, 163, 164, 165, 166, 261, 7, 6, + /* 110 */ 17, 4, 3, 2, 18, 169, 5, 302, 252, 272, + /* 120 */ 275, 278, 273, 276, 279, 306, 270, 293, 159, 37, + /* 130 */ 171, 172, 173, 174, 175, 176, 45, 178, 29, 180, + /* 140 */ 32, 41, 40, 30, 14, 187, 188, 189, 308, 312, + /* 150 */ 253, 270, 32, 225, 256, 257, 252, 38, 38, 27, + /* 160 */ 190, 26, 25, 185, 28, 304, 41, 40, 283, 8, + /* 170 */ 196, 43, 280, 15, 15, 33, 33, 247, 282, 284, + /* 180 */ 283, 34, 34, 5, 280, 206, 35, 35, 253, 303, + /* 190 */ 282, 284, 12, 44, 12, 13, 13, 203, 218, 220, + /* 200 */ 216, 219, 221, 6, 286, 281, 285, 36, 36, 31, + /* 210 */ 214, 211, 212, 215, 31, 283, 286, 281, 285, 280, + /* 220 */ 31, 9, 9, 20, 20, 282, 284, 199, 199, 191, + /* 230 */ 468, 468, 9, 9, 20, 20, 245, 243, 198, 198, + /* 240 */ 7, 232, 31, 256, 257, 207, 208, 209, 245, 227, + /* 250 */ 31, 286, 281, 285, 9, 9, 20, 20, 31, 206, + /* 260 */ 197, 197, 9, 9, 20, 20, 238, 31, 204, 204, + /* 270 */ 10, 10, 22, 22, 226, 233, 31, 316, 316, 11, + /* 280 */ 11, 23, 23, 297, 228, 31, 316, 294, 316, 190, + /* 290 */ 21, 21, 290, 296, 298, 316, 288, 316, 190, 24, + /* 300 */ 24, 316, 289, 291, 316, 316, 316, 316, 316, 316, + /* 310 */ 316, 316, 316, 316, 316, 316, 316, 316, 316, 223, + /* 320 */ 295, }; static const YYCODETYPE yy_lookahead[] = { /* 0 */ 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, @@ -248,10 +248,10 @@ static const YYCODETYPE yy_lookahead[] = { /* 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, + /* 230 */ 2, 3, 63, 64, 65, 66, 9, 10, 69, 70, + /* 240 */ 20, 82, 51, 7, 8, 31, 32, 33, 9, 81, + /* 250 */ 51, 37, 38, 39, 63, 64, 65, 66, 51, 38, + /* 260 */ 69, 70, 63, 64, 65, 66, 29, 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, @@ -260,7 +260,7 @@ static const YYCODETYPE yy_lookahead[] = { /* 320 */ 38, }; #define YY_SHIFT_USE_DFLT (321) -#define YY_SHIFT_COUNT (45) +#define YY_SHIFT_COUNT (46) #define YY_SHIFT_MIN (-4) #define YY_SHIFT_MAX (291) static const short yy_shift_ofst[] = { @@ -268,7 +268,7 @@ static const short yy_shift_ofst[] = { /* 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, + /* 40 */ 182, 220, 228, 227, 239, 221, 237, }; #define YY_REDUCE_USE_DFLT (-65) #define YY_REDUCE_COUNT (41) @@ -279,14 +279,14 @@ static const short yy_reduce_ofst[] = { /* 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, + /* 40 */ 159, 168, }; static const YYACTIONTYPE yy_default[] = { - /* 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, + /* 0 */ 470, 470, 422, 421, 420, 361, 392, 387, 463, 414, + /* 10 */ 390, 385, 398, 404, 342, 406, 461, 424, 423, 349, + /* 20 */ 416, 351, 391, 386, 350, 433, 430, 427, 448, 335, + /* 30 */ 340, 411, 337, 395, 357, 356, 348, 326, 469, 358, + /* 40 */ 339, 338, 400, 467, 467, 333, 324, }; /********** End of lemon-generated parsing tables *****************************/ @@ -544,75 +544,76 @@ static const char *const yyRuleName[] = { /* 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", + /* 86 */ "table_header ::= LINE_TABLE_SEPARATOR", + /* 87 */ "header_rows ::= header_rows LINE_TABLE", + /* 88 */ "table_body ::= table_body table_section", + /* 89 */ "table_section ::= all_rows LINE_EMPTY", + /* 90 */ "table_section ::= all_rows", + /* 91 */ "all_rows ::= all_rows row", + /* 92 */ "para ::= all_rows", + /* 93 */ "chunk ::= chunk_line", + /* 94 */ "chunk_line ::= LINE_CONTINUATION", + /* 95 */ "chunk_line ::= LINE_STOP_COMMENT", + /* 96 */ "nested_chunks ::= nested_chunk", + /* 97 */ "nested_chunk ::= empty", + /* 98 */ "indented_line ::= LINE_INDENTED_TAB", + /* 99 */ "indented_line ::= LINE_INDENTED_SPACE", + /* 100 */ "opt_ext_chunk ::= chunk", + /* 101 */ "tail ::= opt_ext_chunk", + /* 102 */ "tail ::= nested_chunks", + /* 103 */ "blockquote ::= LINE_BLOCKQUOTE", + /* 104 */ "quote_line ::= LINE_BLOCKQUOTE", + /* 105 */ "quote_line ::= LINE_CONTINUATION", + /* 106 */ "def_citation ::= LINE_DEF_CITATION", + /* 107 */ "def_footnote ::= LINE_DEF_FOOTNOTE", + /* 108 */ "def_glossary ::= LINE_DEF_GLOSSARY", + /* 109 */ "def_link ::= LINE_DEF_LINK", + /* 110 */ "def_abbreviation ::= LINE_DEF_ABBREVIATION", + /* 111 */ "defs ::= def", + /* 112 */ "empty ::= LINE_EMPTY", + /* 113 */ "fenced_block ::= fenced_3", + /* 114 */ "fenced_3 ::= LINE_FENCE_BACKTICK_3", + /* 115 */ "fenced_3 ::= LINE_FENCE_BACKTICK_START_3", + /* 116 */ "fenced_block ::= fenced_4", + /* 117 */ "fenced_4 ::= LINE_FENCE_BACKTICK_4", + /* 118 */ "fenced_4 ::= LINE_FENCE_BACKTICK_START_4", + /* 119 */ "fenced_block ::= fenced_5", + /* 120 */ "fenced_5 ::= LINE_FENCE_BACKTICK_5", + /* 121 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5", + /* 122 */ "fenced_line ::= LINE_CONTINUATION", + /* 123 */ "fenced_line ::= LINE_EMPTY", + /* 124 */ "fenced_line ::= LINE_FALLBACK", + /* 125 */ "fenced_line ::= LINE_HR", + /* 126 */ "fenced_line ::= LINE_HTML", + /* 127 */ "fenced_line ::= LINE_START_COMMENT", + /* 128 */ "fenced_line ::= LINE_STOP_COMMENT", + /* 129 */ "html_block ::= LINE_HTML", + /* 130 */ "html_line ::= LINE_CONTINUATION", + /* 131 */ "html_line ::= LINE_FALLBACK", + /* 132 */ "html_line ::= LINE_HR", + /* 133 */ "html_line ::= LINE_HTML", + /* 134 */ "html_com_block ::= html_comment", + /* 135 */ "html_comment ::= LINE_START_COMMENT", + /* 136 */ "comment_line ::= LINE_CONTINUATION", + /* 137 */ "comment_line ::= LINE_EMPTY", + /* 138 */ "comment_line ::= LINE_FALLBACK", + /* 139 */ "comment_line ::= LINE_HR", + /* 140 */ "comment_line ::= LINE_HTML", + /* 141 */ "indented_code ::= indented_line", + /* 142 */ "list_bullet ::= item_bullet", + /* 143 */ "list_enum ::= item_enum", + /* 144 */ "meta_block ::= LINE_META", + /* 145 */ "meta_line ::= LINE_META", + /* 146 */ "meta_line ::= LINE_CONTINUATION", + /* 147 */ "para ::= LINE_PLAIN", + /* 148 */ "para ::= LINE_STOP_COMMENT", + /* 149 */ "table ::= table_header", + /* 150 */ "header_rows ::= LINE_TABLE", + /* 151 */ "table_body ::= table_section", + /* 152 */ "all_rows ::= row", + /* 153 */ "row ::= header_rows", + /* 154 */ "row ::= LINE_TABLE_SEPARATOR", + /* 155 */ "para ::= defs", }; #endif /* NDEBUG */ @@ -1047,6 +1048,7 @@ static const struct { { 61, 2 }, { 62, 2 }, { 84, 2 }, + { 84, 1 }, { 86, 2 }, { 85, 2 }, { 87, 2 }, @@ -1349,9 +1351,9 @@ static void yy_reduce( 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); + case 87: /* header_rows ::= header_rows LINE_TABLE */ yytestcase(yyruleno==87); + case 88: /* table_body ::= table_body table_section */ yytestcase(yyruleno==88); + case 91: /* all_rows ::= all_rows row */ yytestcase(yyruleno==91); { yylhsminor.yy0 = yymsp[-1].minor.yy0; token_chain_append(yymsp[-1].minor.yy0, yymsp[0].minor.yy0); } yymsp[-1].minor.yy0 = yylhsminor.yy0; break; @@ -1405,82 +1407,86 @@ static void yy_reduce( { 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 88: /* table_section ::= all_rows LINE_EMPTY */ + case 86: /* table_header ::= LINE_TABLE_SEPARATOR */ +{ yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE_HEADER); } + yymsp[0].minor.yy0 = yylhsminor.yy0; + break; + case 89: /* 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 89: /* table_section ::= all_rows */ + case 90: /* table_section ::= all_rows */ { yylhsminor.yy0 = token_new_parent(yymsp[0].minor.yy0, BLOCK_TABLE_SECTION); } yymsp[0].minor.yy0 = yylhsminor.yy0; break; - case 91: /* para ::= all_rows */ + case 92: /* para ::= all_rows */ { yylhsminor.yy0 = yymsp[0].minor.yy0; } yymsp[0].minor.yy0 = yylhsminor.yy0; break; default: - /* (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); + /* (93) chunk ::= chunk_line (OPTIMIZED OUT) */ assert(yyruleno!=93); + /* (94) chunk_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==94); + /* (95) chunk_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==95); + /* (96) nested_chunks ::= nested_chunk (OPTIMIZED OUT) */ assert(yyruleno!=96); + /* (97) nested_chunk ::= empty */ yytestcase(yyruleno==97); + /* (98) indented_line ::= LINE_INDENTED_TAB */ yytestcase(yyruleno==98); + /* (99) indented_line ::= LINE_INDENTED_SPACE */ yytestcase(yyruleno==99); + /* (100) opt_ext_chunk ::= chunk */ yytestcase(yyruleno==100); + /* (101) tail ::= opt_ext_chunk (OPTIMIZED OUT) */ assert(yyruleno!=101); + /* (102) tail ::= nested_chunks */ yytestcase(yyruleno==102); + /* (103) blockquote ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==103); + /* (104) quote_line ::= LINE_BLOCKQUOTE */ yytestcase(yyruleno==104); + /* (105) quote_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==105); + /* (106) def_citation ::= LINE_DEF_CITATION */ yytestcase(yyruleno==106); + /* (107) def_footnote ::= LINE_DEF_FOOTNOTE */ yytestcase(yyruleno==107); + /* (108) def_glossary ::= LINE_DEF_GLOSSARY */ yytestcase(yyruleno==108); + /* (109) def_link ::= LINE_DEF_LINK */ yytestcase(yyruleno==109); + /* (110) def_abbreviation ::= LINE_DEF_ABBREVIATION */ yytestcase(yyruleno==110); + /* (111) defs ::= def (OPTIMIZED OUT) */ assert(yyruleno!=111); + /* (112) empty ::= LINE_EMPTY */ yytestcase(yyruleno==112); + /* (113) fenced_block ::= fenced_3 */ yytestcase(yyruleno==113); + /* (114) fenced_3 ::= LINE_FENCE_BACKTICK_3 */ yytestcase(yyruleno==114); + /* (115) fenced_3 ::= LINE_FENCE_BACKTICK_START_3 */ yytestcase(yyruleno==115); + /* (116) fenced_block ::= fenced_4 */ yytestcase(yyruleno==116); + /* (117) fenced_4 ::= LINE_FENCE_BACKTICK_4 */ yytestcase(yyruleno==117); + /* (118) fenced_4 ::= LINE_FENCE_BACKTICK_START_4 */ yytestcase(yyruleno==118); + /* (119) fenced_block ::= fenced_5 */ yytestcase(yyruleno==119); + /* (120) fenced_5 ::= LINE_FENCE_BACKTICK_5 */ yytestcase(yyruleno==120); + /* (121) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==121); + /* (122) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==122); + /* (123) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==123); + /* (124) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==124); + /* (125) fenced_line ::= LINE_HR */ yytestcase(yyruleno==125); + /* (126) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==126); + /* (127) fenced_line ::= LINE_START_COMMENT */ yytestcase(yyruleno==127); + /* (128) fenced_line ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==128); + /* (129) html_block ::= LINE_HTML */ yytestcase(yyruleno==129); + /* (130) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==130); + /* (131) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==131); + /* (132) html_line ::= LINE_HR */ yytestcase(yyruleno==132); + /* (133) html_line ::= LINE_HTML */ yytestcase(yyruleno==133); + /* (134) html_com_block ::= html_comment */ yytestcase(yyruleno==134); + /* (135) html_comment ::= LINE_START_COMMENT */ yytestcase(yyruleno==135); + /* (136) comment_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==136); + /* (137) comment_line ::= LINE_EMPTY */ yytestcase(yyruleno==137); + /* (138) comment_line ::= LINE_FALLBACK */ yytestcase(yyruleno==138); + /* (139) comment_line ::= LINE_HR */ yytestcase(yyruleno==139); + /* (140) comment_line ::= LINE_HTML */ yytestcase(yyruleno==140); + /* (141) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=141); + /* (142) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=142); + /* (143) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=143); + /* (144) meta_block ::= LINE_META */ yytestcase(yyruleno==144); + /* (145) meta_line ::= LINE_META */ yytestcase(yyruleno==145); + /* (146) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==146); + /* (147) para ::= LINE_PLAIN */ yytestcase(yyruleno==147); + /* (148) para ::= LINE_STOP_COMMENT */ yytestcase(yyruleno==148); + /* (149) table ::= table_header */ yytestcase(yyruleno==149); + /* (150) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==150); + /* (151) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=151); + /* (152) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=152); + /* (153) row ::= header_rows */ yytestcase(yyruleno==153); + /* (154) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==154); + /* (155) para ::= defs */ yytestcase(yyruleno==155); break; /********** End reduce actions ************************************************/ }; diff --git a/Sources/libMultiMarkdown/parser.out b/Sources/libMultiMarkdown/parser.out index 5105cff..14df9e8 100644 --- a/Sources/libMultiMarkdown/parser.out +++ b/Sources/libMultiMarkdown/parser.out @@ -108,6 +108,7 @@ State 0: table ::= * table_header table_body table ::= * table_header table_header ::= * header_rows LINE_TABLE_SEPARATOR + table_header ::= * LINE_TABLE_SEPARATOR header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE all_rows ::= * all_rows row @@ -118,20 +119,20 @@ State 0: para ::= * defs LINE_HR shift-reduce 9 block ::= LINE_HR - LINE_YAML shift 45 + LINE_YAML shift 46 LINE_PLAIN shift 16 - 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_INDENTED_TAB shift-reduce 98 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_SPACE shift-reduce 99 indented_line ::= LINE_INDENTED_SPACE + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE + LINE_TABLE_SEPARATOR shift 42 + LINE_HTML shift-reduce 129 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 102 blockquote ::= LINE_BLOCKQUOTE + LINE_BLOCKQUOTE shift-reduce 103 blockquote ::= LINE_BLOCKQUOTE LINE_LIST_BULLETED shift 7 LINE_LIST_ENUMERATED shift 6 LINE_DEF_ABBREVIATION shift 17 @@ -141,16 +142,16 @@ State 0: LINE_DEF_LINK shift 18 LINE_TOC shift-reduce 11 block ::= LINE_TOC LINE_DEFINITION shift 5 - 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 + LINE_META shift-reduce 144 meta_block ::= LINE_META + LINE_FENCE_BACKTICK_3 shift-reduce 114 fenced_3 ::= LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_4 shift-reduce 117 fenced_4 ::= LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_5 shift-reduce 120 fenced_5 ::= LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_START_3 shift-reduce 115 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_4 shift-reduce 118 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 + LINE_FENCE_BACKTICK_START_5 shift-reduce 121 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 + LINE_STOP_COMMENT shift-reduce 148 para ::= LINE_STOP_COMMENT + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_START_COMMENT shift-reduce 135 html_comment ::= LINE_START_COMMENT doc accept blocks shift 1 block shift-reduce 2 blocks ::= block @@ -161,7 +162,7 @@ State 0: 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 + empty shift 45 fenced_block shift-reduce 20 block ::= fenced_block html_block shift 29 html_com_block shift-reduce 22 block ::= html_com_block @@ -183,7 +184,7 @@ State 0: item_bullet shift 41 /* because item_bullet==list_bullet */ item_enum shift 40 /* because item_enum==list_enum */ table_header shift 8 - header_rows shift 42 + header_rows shift 43 all_rows shift 15 row shift 15 /* because row==all_rows */ @@ -296,6 +297,7 @@ State 1: table ::= * table_header table_body table ::= * table_header table_header ::= * header_rows LINE_TABLE_SEPARATOR + table_header ::= * LINE_TABLE_SEPARATOR header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE all_rows ::= * all_rows row @@ -307,20 +309,20 @@ State 1: $ reduce 0 doc ::= blocks LINE_HR shift-reduce 9 block ::= LINE_HR - LINE_YAML shift 45 + LINE_YAML shift 46 LINE_PLAIN shift 16 - 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_INDENTED_TAB shift-reduce 98 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_SPACE shift-reduce 99 indented_line ::= LINE_INDENTED_SPACE + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE + LINE_TABLE_SEPARATOR shift 42 + LINE_HTML shift-reduce 129 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 102 blockquote ::= LINE_BLOCKQUOTE + LINE_BLOCKQUOTE shift-reduce 103 blockquote ::= LINE_BLOCKQUOTE LINE_LIST_BULLETED shift 7 LINE_LIST_ENUMERATED shift 6 LINE_DEF_ABBREVIATION shift 17 @@ -330,16 +332,16 @@ State 1: LINE_DEF_LINK shift 18 LINE_TOC shift-reduce 11 block ::= LINE_TOC LINE_DEFINITION shift 5 - 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 + LINE_META shift-reduce 144 meta_block ::= LINE_META + LINE_FENCE_BACKTICK_3 shift-reduce 114 fenced_3 ::= LINE_FENCE_BACKTICK_3 + LINE_FENCE_BACKTICK_4 shift-reduce 117 fenced_4 ::= LINE_FENCE_BACKTICK_4 + LINE_FENCE_BACKTICK_5 shift-reduce 120 fenced_5 ::= LINE_FENCE_BACKTICK_5 + LINE_FENCE_BACKTICK_START_3 shift-reduce 115 fenced_3 ::= LINE_FENCE_BACKTICK_START_3 + LINE_FENCE_BACKTICK_START_4 shift-reduce 118 fenced_4 ::= LINE_FENCE_BACKTICK_START_4 + LINE_FENCE_BACKTICK_START_5 shift-reduce 121 fenced_5 ::= LINE_FENCE_BACKTICK_START_5 + LINE_STOP_COMMENT shift-reduce 148 para ::= LINE_STOP_COMMENT + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_START_COMMENT shift-reduce 135 html_comment ::= LINE_START_COMMENT block shift-reduce 1 blocks ::= blocks block blockquote shift 37 def_abbreviation shift-reduce 13 block ::= def_abbreviation @@ -348,7 +350,7 @@ State 1: 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 + empty shift 45 fenced_block shift-reduce 20 block ::= fenced_block html_block shift 29 html_com_block shift-reduce 22 block ::= html_com_block @@ -370,7 +372,7 @@ State 1: item_bullet shift 41 /* because item_bullet==list_bullet */ item_enum shift 40 /* because item_enum==list_enum */ table_header shift 8 - header_rows shift 42 + header_rows shift 43 all_rows shift 15 row shift 15 /* because row==all_rows */ @@ -389,15 +391,15 @@ State 2: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_glossary ::= LINE_DEF_GLOSSARY * tail - (107) def_glossary ::= LINE_DEF_GLOSSARY * + (108) def_glossary ::= LINE_DEF_GLOSSARY * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 108 ** Parsing conflict ** + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_EMPTY reduce 108 ** Parsing conflict ** empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ @@ -405,7 +407,7 @@ State 2: nested_chunk shift 20 /* because nested_chunk==nested_chunks */ 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 + {default} reduce 108 def_glossary ::= LINE_DEF_GLOSSARY State 3: chunk ::= * chunk chunk_line @@ -422,15 +424,15 @@ State 3: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_footnote ::= LINE_DEF_FOOTNOTE * tail - (106) def_footnote ::= LINE_DEF_FOOTNOTE * + (107) def_footnote ::= LINE_DEF_FOOTNOTE * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 107 ** Parsing conflict ** + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_EMPTY reduce 107 ** Parsing conflict ** empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ @@ -438,7 +440,7 @@ State 3: nested_chunk shift 20 /* because nested_chunk==nested_chunks */ 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 + {default} reduce 107 def_footnote ::= LINE_DEF_FOOTNOTE State 4: chunk ::= * chunk chunk_line @@ -455,15 +457,15 @@ State 4: tail ::= * opt_ext_chunk tail ::= * nested_chunks def_citation ::= LINE_DEF_CITATION * tail - (105) def_citation ::= LINE_DEF_CITATION * + (106) def_citation ::= LINE_DEF_CITATION * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 106 ** Parsing conflict ** + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_EMPTY reduce 106 ** Parsing conflict ** empty shift 31 chunk shift 9 chunk_line shift 9 /* because chunk_line==chunk */ @@ -471,7 +473,7 @@ State 4: nested_chunk shift 20 /* because nested_chunk==nested_chunks */ 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 + {default} reduce 106 def_citation ::= LINE_DEF_CITATION State 5: chunk ::= * chunk chunk_line @@ -492,10 +494,10 @@ State 5: empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 47 ** Parsing conflict ** - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 47 ** Parsing conflict ** empty shift 31 chunk shift 9 @@ -524,10 +526,10 @@ State 6: item_enum ::= LINE_LIST_ENUMERATED * nested_chunks (78) item_enum ::= LINE_LIST_ENUMERATED * - LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 78 ** Parsing conflict ** - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 78 ** Parsing conflict ** empty shift 31 chunk shift 10 @@ -555,10 +557,10 @@ State 7: item_bullet ::= LINE_LIST_BULLETED * nested_chunks (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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 73 ** Parsing conflict ** - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 73 ** Parsing conflict ** empty shift 31 chunk shift 11 @@ -570,7 +572,7 @@ State 7: State 8: table ::= table_header * table_body - (148) table ::= table_header * + (149) table ::= table_header * header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE table_body ::= * table_body table_section @@ -582,16 +584,16 @@ State 8: row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - 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 ** + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE + LINE_TABLE reduce 149 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 154 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 149 ** Parsing conflict ** table_body shift 12 - header_rows shift 43 + header_rows shift 44 table_section shift 12 /* because table_section==table_body */ all_rows shift 13 row shift 13 /* because row==all_rows */ - {default} reduce 148 table ::= table_header + {default} reduce 149 table ::= table_header State 9: chunk ::= chunk * chunk_line @@ -603,20 +605,20 @@ State 9: nested_chunk ::= * empty indented_line nested_chunk ::= * empty opt_ext_chunk ::= chunk * nested_chunks - (99) opt_ext_chunk ::= chunk * + (100) opt_ext_chunk ::= chunk * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 100 ** Parsing conflict ** + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_EMPTY reduce 100 ** 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 99 opt_ext_chunk ::= chunk + {default} reduce 100 opt_ext_chunk ::= chunk State 10: chunk ::= chunk * chunk_line @@ -632,10 +634,10 @@ State 10: empty ::= * LINE_EMPTY (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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 76 ** Parsing conflict ** - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 76 ** Parsing conflict ** empty shift 31 chunk_line shift-reduce 32 chunk ::= chunk chunk_line @@ -657,10 +659,10 @@ State 11: empty ::= * LINE_EMPTY (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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 71 ** Parsing conflict ** - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 71 ** Parsing conflict ** empty shift 31 chunk_line shift-reduce 32 chunk ::= chunk chunk_line @@ -680,12 +682,12 @@ State 12: row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - LINE_TABLE shift-reduce 149 header_rows ::= LINE_TABLE + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE LINE_TABLE reduce 84 ** Parsing conflict ** - LINE_TABLE_SEPARATOR shift-reduce 153 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR shift-reduce 154 row ::= LINE_TABLE_SEPARATOR LINE_TABLE_SEPARATOR reduce 84 ** Parsing conflict ** - header_rows shift 43 - table_section shift-reduce 87 table_body ::= table_body table_section + header_rows shift 44 + table_section shift-reduce 88 table_body ::= table_body table_section all_rows shift 13 row shift 13 /* because row==all_rows */ {default} reduce 84 table ::= table_header table_body @@ -694,20 +696,20 @@ State 13: header_rows ::= * header_rows LINE_TABLE header_rows ::= * LINE_TABLE table_section ::= all_rows * LINE_EMPTY - (89) table_section ::= all_rows * + (90) table_section ::= all_rows * all_rows ::= all_rows * row row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - 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 90 all_rows ::= all_rows row - {default} reduce 89 table_section ::= all_rows + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE + LINE_TABLE reduce 90 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 154 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 90 ** Parsing conflict ** + LINE_EMPTY shift-reduce 89 table_section ::= all_rows LINE_EMPTY + LINE_EMPTY reduce 90 ** Parsing conflict ** + header_rows shift 44 + row shift-reduce 91 all_rows ::= all_rows row + {default} reduce 90 table_section ::= all_rows State 14: (28) block ::= para * @@ -733,15 +735,15 @@ State 15: all_rows ::= all_rows * row row ::= * header_rows row ::= * LINE_TABLE_SEPARATOR - (91) para ::= all_rows * + (92) para ::= all_rows * - 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 90 all_rows ::= all_rows row - {default} reduce 91 para ::= all_rows + LINE_TABLE shift-reduce 150 header_rows ::= LINE_TABLE + LINE_TABLE reduce 92 ** Parsing conflict ** + LINE_TABLE_SEPARATOR shift-reduce 154 row ::= LINE_TABLE_SEPARATOR + LINE_TABLE_SEPARATOR reduce 92 ** Parsing conflict ** + header_rows shift 44 + row shift-reduce 91 all_rows ::= all_rows row + {default} reduce 92 para ::= all_rows State 16: chunk ::= * chunk chunk_line @@ -749,14 +751,14 @@ State 16: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT para ::= LINE_PLAIN * chunk - (146) para ::= LINE_PLAIN * + (147) 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 147 ** Parsing conflict ** chunk shift 33 chunk_line shift 33 /* because chunk_line==chunk */ - {default} reduce 146 para ::= LINE_PLAIN + {default} reduce 147 para ::= LINE_PLAIN State 17: chunk ::= * chunk chunk_line @@ -764,14 +766,14 @@ State 17: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT def_abbreviation ::= LINE_DEF_ABBREVIATION * chunk - (109) def_abbreviation ::= LINE_DEF_ABBREVIATION * + (110) 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 110 ** Parsing conflict ** chunk shift 34 chunk_line shift 34 /* because chunk_line==chunk */ - {default} reduce 109 def_abbreviation ::= LINE_DEF_ABBREVIATION + {default} reduce 110 def_abbreviation ::= LINE_DEF_ABBREVIATION State 18: chunk ::= * chunk chunk_line @@ -779,14 +781,14 @@ State 18: chunk_line ::= * LINE_CONTINUATION chunk_line ::= * LINE_STOP_COMMENT def_link ::= LINE_DEF_LINK * chunk - (108) def_link ::= LINE_DEF_LINK * + (109) 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 ** + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 109 ** Parsing conflict ** chunk shift 35 chunk_line shift 35 /* because chunk_line==chunk */ - {default} reduce 108 def_link ::= LINE_DEF_LINK + {default} reduce 109 def_link ::= LINE_DEF_LINK State 19: chunk ::= * chunk chunk_line @@ -796,8 +798,8 @@ State 19: nested_chunk ::= empty indented_line * chunk (35) nested_chunk ::= empty indented_line * - LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 chunk_line ::= LINE_STOP_COMMENT LINE_STOP_COMMENT reduce 35 ** Parsing conflict ** chunk shift 36 chunk_line shift 36 /* because chunk_line==chunk */ @@ -808,15 +810,15 @@ State 20: nested_chunk ::= * empty indented_line chunk nested_chunk ::= * empty indented_line nested_chunk ::= * empty - (101) tail ::= nested_chunks * + (102) tail ::= nested_chunks * empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY - LINE_EMPTY reduce 101 ** Parsing conflict ** + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY + LINE_EMPTY reduce 102 ** Parsing conflict ** empty shift 31 nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk - {default} reduce 101 tail ::= nested_chunks + {default} reduce 102 tail ::= nested_chunks State 21: nested_chunks ::= nested_chunks * nested_chunk @@ -827,7 +829,7 @@ State 21: empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 37 ** Parsing conflict ** empty shift 31 nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk @@ -842,7 +844,7 @@ State 22: empty ::= * LINE_EMPTY (77) item_enum ::= LINE_LIST_ENUMERATED nested_chunks * - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 77 ** Parsing conflict ** empty shift 31 nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk @@ -857,7 +859,7 @@ State 23: empty ::= * LINE_EMPTY (72) item_bullet ::= LINE_LIST_BULLETED nested_chunks * - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 72 ** Parsing conflict ** empty shift 31 nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk @@ -872,7 +874,7 @@ State 24: empty ::= * empty LINE_EMPTY empty ::= * LINE_EMPTY - LINE_EMPTY shift-reduce 111 empty ::= LINE_EMPTY + LINE_EMPTY shift-reduce 112 empty ::= LINE_EMPTY LINE_EMPTY reduce 36 ** Parsing conflict ** empty shift 31 nested_chunk shift-reduce 33 nested_chunks ::= nested_chunks nested_chunk @@ -880,7 +882,7 @@ State 24: State 25: fenced_block ::= fenced_5 * LINE_FENCE_BACKTICK_5 - (118) fenced_block ::= fenced_5 * + (119) 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 @@ -894,35 +896,35 @@ State 25: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - 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_HR shift-reduce 125 fenced_line ::= LINE_HR + LINE_HR reduce 119 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 122 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 124 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 126 fenced_line ::= LINE_HTML + LINE_HTML reduce 119 ** 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_3 reduce 119 ** 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_4 reduce 119 ** 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_5 reduce 119 ** 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_3 reduce 119 ** 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 ** + LINE_FENCE_BACKTICK_START_4 reduce 119 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 128 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 119 ** Parsing conflict ** + LINE_EMPTY shift-reduce 123 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 119 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 127 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 119 ** Parsing conflict ** fenced_line shift-reduce 59 fenced_5 ::= fenced_5 fenced_line - {default} reduce 118 fenced_block ::= fenced_5 + {default} reduce 119 fenced_block ::= fenced_5 State 26: fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_4 fenced_block ::= fenced_4 * LINE_FENCE_BACKTICK_5 - (115) fenced_block ::= fenced_4 * + (116) 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 @@ -934,34 +936,34 @@ State 26: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - 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_HR shift-reduce 125 fenced_line ::= LINE_HR + LINE_HR reduce 116 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 122 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 124 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 126 fenced_line ::= LINE_HTML + LINE_HTML reduce 116 ** 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_3 reduce 116 ** 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_4 reduce 116 ** 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_5 reduce 116 ** 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 ** + LINE_FENCE_BACKTICK_START_3 reduce 116 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 128 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 116 ** Parsing conflict ** + LINE_EMPTY shift-reduce 123 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 116 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 127 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 116 ** Parsing conflict ** fenced_line shift-reduce 55 fenced_4 ::= fenced_4 fenced_line - {default} reduce 115 fenced_block ::= fenced_4 + {default} reduce 116 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 - (112) fenced_block ::= fenced_3 * + (113) fenced_block ::= fenced_3 * fenced_3 ::= fenced_3 * fenced_line fenced_line ::= * LINE_CONTINUATION fenced_line ::= * LINE_EMPTY @@ -971,30 +973,30 @@ State 27: fenced_line ::= * LINE_START_COMMENT fenced_line ::= * LINE_STOP_COMMENT - 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_HR shift-reduce 125 fenced_line ::= LINE_HR + LINE_HR reduce 113 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 122 fenced_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 124 fenced_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 126 fenced_line ::= LINE_HTML + LINE_HTML reduce 113 ** 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_3 reduce 113 ** 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_4 reduce 113 ** 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 ** + LINE_FENCE_BACKTICK_5 reduce 113 ** Parsing conflict ** + LINE_STOP_COMMENT shift-reduce 128 fenced_line ::= LINE_STOP_COMMENT + LINE_STOP_COMMENT reduce 113 ** Parsing conflict ** + LINE_EMPTY shift-reduce 123 fenced_line ::= LINE_EMPTY + LINE_EMPTY reduce 113 ** Parsing conflict ** + LINE_START_COMMENT shift-reduce 127 fenced_line ::= LINE_START_COMMENT + LINE_START_COMMENT reduce 113 ** Parsing conflict ** fenced_line shift-reduce 52 fenced_3 ::= fenced_3 fenced_line - {default} reduce 112 fenced_block ::= fenced_3 + {default} reduce 113 fenced_block ::= fenced_3 State 28: html_com_block ::= html_comment * LINE_STOP_COMMENT - (133) html_com_block ::= html_comment * + (134) html_com_block ::= html_comment * html_comment ::= html_comment * comment_line comment_line ::= * LINE_CONTINUATION comment_line ::= * LINE_EMPTY @@ -1002,18 +1004,18 @@ State 28: comment_line ::= * LINE_HR comment_line ::= * LINE_HTML - 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_HR shift-reduce 139 comment_line ::= LINE_HR + LINE_HR reduce 134 ** Parsing conflict ** + LINE_CONTINUATION shift-reduce 136 comment_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 138 comment_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 140 comment_line ::= LINE_HTML + LINE_HTML reduce 134 ** 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 ** + LINE_STOP_COMMENT reduce 134 ** Parsing conflict ** + LINE_EMPTY shift-reduce 137 comment_line ::= LINE_EMPTY + LINE_EMPTY reduce 134 ** Parsing conflict ** comment_line shift-reduce 66 html_comment ::= html_comment comment_line - {default} reduce 133 html_com_block ::= html_comment + {default} reduce 134 html_com_block ::= html_comment State 29: (21) block ::= html_block * @@ -1023,11 +1025,11 @@ State 29: html_line ::= * LINE_HR html_line ::= * LINE_HTML - LINE_HR shift-reduce 131 html_line ::= LINE_HR + LINE_HR shift-reduce 132 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_CONTINUATION shift-reduce 130 html_line ::= LINE_CONTINUATION + LINE_FALLBACK shift-reduce 131 html_line ::= LINE_FALLBACK + LINE_HTML shift-reduce 133 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 @@ -1040,8 +1042,8 @@ State 30: 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_CONTINUATION shift-reduce 146 meta_line ::= LINE_CONTINUATION + LINE_META shift-reduce 145 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 @@ -1049,19 +1051,19 @@ State 30: State 31: nested_chunk ::= empty * indented_line chunk nested_chunk ::= empty * indented_line - (96) nested_chunk ::= empty * + (97) nested_chunk ::= empty * indented_line ::= * LINE_INDENTED_TAB indented_line ::= * LINE_INDENTED_SPACE empty ::= empty * LINE_EMPTY - 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_INDENTED_TAB shift-reduce 98 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_TAB reduce 97 ** Parsing conflict ** + LINE_INDENTED_SPACE shift-reduce 99 indented_line ::= LINE_INDENTED_SPACE + LINE_INDENTED_SPACE reduce 97 ** Parsing conflict ** LINE_EMPTY shift-reduce 48 empty ::= empty LINE_EMPTY - LINE_EMPTY reduce 96 ** Parsing conflict ** + LINE_EMPTY reduce 97 ** Parsing conflict ** indented_line shift 19 - {default} reduce 96 nested_chunk ::= empty + {default} reduce 97 nested_chunk ::= empty State 32: (23) block ::= indented_code * @@ -1070,9 +1072,9 @@ State 32: indented_code ::= indented_code * indented_line indented_code ::= indented_code * LINE_EMPTY - LINE_INDENTED_TAB shift-reduce 97 indented_line ::= LINE_INDENTED_TAB + LINE_INDENTED_TAB shift-reduce 98 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 shift-reduce 99 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 ** @@ -1085,8 +1087,8 @@ State 33: chunk_line ::= * LINE_STOP_COMMENT (81) para ::= LINE_PLAIN chunk * - LINE_CONTINUATION shift-reduce 93 chunk_line ::= LINE_CONTINUATION - LINE_STOP_COMMENT shift-reduce 94 chunk_line ::= LINE_STOP_COMMENT + LINE_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 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 @@ -1097,8 +1099,8 @@ State 34: chunk_line ::= * LINE_STOP_COMMENT (43) 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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 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 @@ -1109,8 +1111,8 @@ State 35: chunk_line ::= * LINE_STOP_COMMENT (42) 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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 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 @@ -1121,8 +1123,8 @@ State 36: chunk_line ::= * LINE_STOP_COMMENT (34) 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_CONTINUATION shift-reduce 94 chunk_line ::= LINE_CONTINUATION + LINE_STOP_COMMENT shift-reduce 95 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 @@ -1133,8 +1135,8 @@ State 37: quote_line ::= * LINE_BLOCKQUOTE quote_line ::= * LINE_CONTINUATION - LINE_CONTINUATION shift-reduce 104 quote_line ::= LINE_CONTINUATION - LINE_BLOCKQUOTE shift-reduce 103 quote_line ::= LINE_BLOCKQUOTE + LINE_CONTINUATION shift-reduce 105 quote_line ::= LINE_CONTINUATION + LINE_BLOCKQUOTE shift-reduce 104 quote_line ::= LINE_BLOCKQUOTE LINE_BLOCKQUOTE reduce 12 ** Parsing conflict ** quote_line shift-reduce 38 blockquote ::= blockquote quote_line {default} reduce 12 block ::= blockquote @@ -1143,12 +1145,12 @@ State 38: defs ::= defs * def def ::= * LINE_DEFINITION tail def ::= * LINE_DEFINITION - (154) para ::= defs * + (155) para ::= defs * LINE_DEFINITION shift 5 - LINE_DEFINITION reduce 154 ** Parsing conflict ** + LINE_DEFINITION reduce 155 ** Parsing conflict ** def shift-reduce 45 defs ::= defs def - {default} reduce 154 para ::= defs + {default} reduce 155 para ::= defs State 39: (44) definition_block ::= para defs * @@ -1188,25 +1190,68 @@ State 41: {default} reduce 24 block ::= list_bullet State 42: + (86) table_header ::= LINE_TABLE_SEPARATOR * + (154) row ::= LINE_TABLE_SEPARATOR * + + $ reduce 154 ** Parsing conflict ** + LINE_HR reduce 154 ** Parsing conflict ** + LINE_SETEXT_1 reduce 154 row ::= LINE_TABLE_SEPARATOR + LINE_SETEXT_2 reduce 154 row ::= LINE_TABLE_SEPARATOR + LINE_YAML reduce 154 ** Parsing conflict ** + LINE_PLAIN reduce 154 ** Parsing conflict ** + LINE_INDENTED_TAB reduce 154 ** Parsing conflict ** + LINE_INDENTED_SPACE reduce 154 ** Parsing conflict ** + LINE_TABLE reduce 154 ** Parsing conflict ** + LINE_TABLE_SEPARATOR reduce 154 ** Parsing conflict ** + LINE_HTML reduce 154 ** Parsing conflict ** + LINE_ATX_1 reduce 154 ** Parsing conflict ** + LINE_ATX_2 reduce 154 ** Parsing conflict ** + LINE_ATX_3 reduce 154 ** Parsing conflict ** + LINE_ATX_4 reduce 154 ** Parsing conflict ** + LINE_ATX_5 reduce 154 ** Parsing conflict ** + LINE_ATX_6 reduce 154 ** Parsing conflict ** + LINE_BLOCKQUOTE reduce 154 ** Parsing conflict ** + LINE_LIST_BULLETED reduce 154 ** Parsing conflict ** + LINE_LIST_ENUMERATED reduce 154 ** Parsing conflict ** + LINE_DEF_ABBREVIATION reduce 154 ** Parsing conflict ** + LINE_DEF_CITATION reduce 154 ** Parsing conflict ** + LINE_DEF_FOOTNOTE reduce 154 ** Parsing conflict ** + LINE_DEF_GLOSSARY reduce 154 ** Parsing conflict ** + LINE_DEF_LINK reduce 154 ** Parsing conflict ** + LINE_TOC reduce 154 ** Parsing conflict ** + LINE_DEFINITION reduce 154 ** Parsing conflict ** + LINE_META reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_3 reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_4 reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_5 reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_3 reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_4 reduce 154 ** Parsing conflict ** + LINE_FENCE_BACKTICK_START_5 reduce 154 ** Parsing conflict ** + LINE_STOP_COMMENT reduce 154 ** Parsing conflict ** + LINE_EMPTY reduce 154 ** Parsing conflict ** + LINE_START_COMMENT reduce 154 ** Parsing conflict ** + {default} reduce 86 table_header ::= LINE_TABLE_SEPARATOR + +State 43: table_header ::= header_rows * LINE_TABLE_SEPARATOR header_rows ::= header_rows * LINE_TABLE - (152) row ::= header_rows * + (153) row ::= header_rows * - LINE_TABLE shift-reduce 86 header_rows ::= header_rows LINE_TABLE - LINE_TABLE reduce 152 ** Parsing conflict ** + LINE_TABLE shift-reduce 87 header_rows ::= header_rows LINE_TABLE + LINE_TABLE reduce 153 ** 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 + LINE_TABLE_SEPARATOR reduce 153 ** Parsing conflict ** + {default} reduce 153 row ::= header_rows -State 43: +State 44: header_rows ::= header_rows * LINE_TABLE - (152) row ::= header_rows * + (153) 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 + LINE_TABLE shift-reduce 87 header_rows ::= header_rows LINE_TABLE + LINE_TABLE reduce 153 ** Parsing conflict ** + {default} reduce 153 row ::= header_rows -State 44: +State 45: (19) block ::= empty * empty ::= empty * LINE_EMPTY @@ -1214,7 +1259,7 @@ State 44: LINE_EMPTY reduce 19 ** Parsing conflict ** {default} reduce 19 block ::= empty -State 45: +State 46: (10) block ::= LINE_YAML * meta_block ::= LINE_YAML * LINE_META @@ -1286,7 +1331,7 @@ Symbols: 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 + 62: table: LINE_TABLE LINE_TABLE_SEPARATOR 63: chunk: LINE_CONTINUATION LINE_STOP_COMMENT 64: chunk_line: LINE_CONTINUATION LINE_STOP_COMMENT 65: nested_chunks: LINE_EMPTY @@ -1308,7 +1353,7 @@ Symbols: 81: item_bullet: LINE_LIST_BULLETED 82: item_enum: LINE_LIST_ENUMERATED 83: meta_line: LINE_CONTINUATION LINE_META - 84: table_header: LINE_TABLE + 84: table_header: LINE_TABLE LINE_TABLE_SEPARATOR 85: table_body: LINE_TABLE LINE_TABLE_SEPARATOR 86: header_rows: LINE_TABLE 87: table_section: LINE_TABLE LINE_TABLE_SEPARATOR diff --git a/Sources/libMultiMarkdown/parser.y b/Sources/libMultiMarkdown/parser.y index 4210e1d..870c01a 100644 --- a/Sources/libMultiMarkdown/parser.y +++ b/Sources/libMultiMarkdown/parser.y @@ -351,6 +351,7 @@ table(A) ::= table_header(B) table_body(C). { A = B; token_chain_append(B, C table ::= table_header. table_header(A) ::= header_rows(B) LINE_TABLE_SEPARATOR(C). { A = token_new_parent(B, BLOCK_TABLE_HEADER); token_chain_append(B, C); } +table_header(A) ::= LINE_TABLE_SEPARATOR(B). { A = token_new_parent(B, BLOCK_TABLE_HEADER); } header_rows(A) ::= header_rows(B) LINE_TABLE(C). { A = B; token_chain_append(B, C); } header_rows ::= LINE_TABLE. diff --git a/tests/MMD6Tests/Tables.fodt b/tests/MMD6Tests/Tables.fodt index 9f47d06..f103ba5 100644 --- a/tests/MMD6Tests/Tables.fodt +++ b/tests/MMD6Tests/Tables.fodt @@ -514,6 +514,56 @@ office:mimetype="application/vnd.oasis.opendocument.text"> | foo | bar | | — | — | | foo | bar | + +6 + + + + + + + + + foo + + + bar + + + + +Table Update Fields to calculate numbers:caption + + + + + + + + + bat + + + + + foo + + + bar + + + + + + foo + + + bar + + + + + diff --git a/tests/MMD6Tests/Tables.html b/tests/MMD6Tests/Tables.html index 0606dd7..a2644ef 100644 --- a/tests/MMD6Tests/Tables.html +++ b/tests/MMD6Tests/Tables.html @@ -189,6 +189,50 @@ | — | — | | foo | bar |

+

6

+ + + ++++ + + + + + + + + + + +
caption
foo bar
+ + ++++ + + + + + + + + + + + + + + + + + +
bat
foo bar
foo bar
+ diff --git a/tests/MMD6Tests/Tables.htmlc b/tests/MMD6Tests/Tables.htmlc index 7e55634..bcb4a2d 100644 --- a/tests/MMD6Tests/Tables.htmlc +++ b/tests/MMD6Tests/Tables.htmlc @@ -50,3 +50,14 @@ latex config: article

| foo | bar | | --- | --- | | foo | bar |

+ +

6

+ +

| --- | --- | +| foo | bar | +[caption][bar]

+ +

| bat || +| foo | bar | +| --- | --- | +| foo | bar |

diff --git a/tests/MMD6Tests/Tables.tex b/tests/MMD6Tests/Tables.tex index d039c35..d678e55 100644 --- a/tests/MMD6Tests/Tables.tex +++ b/tests/MMD6Tests/Tables.tex @@ -128,5 +128,41 @@ \textbar{} --- \textbar{} --- \textbar{} \textbar{} foo \textbar{} bar \textbar{} +6 + +\begin{table}[htbp] +\begin{minipage}{\linewidth} +\setlength{\tymax}{0.5\linewidth} +\centering +\small +\caption{\emph{caption}} +\label{bar} +\begin{tabulary}{\textwidth}{@{}ll@{}} \toprule +\midrule + + foo & bar \\ +\bottomrule + +\end{tabulary} +\end{minipage} +\end{table} + +\begin{table}[htbp] +\begin{minipage}{\linewidth} +\setlength{\tymax}{0.5\linewidth} +\centering +\small +\begin{tabulary}{\textwidth}{@{}ll@{}} \toprule +\multicolumn{2}{c}{ bat }\\ + foo & bar \\ +\midrule + + foo & bar \\ +\bottomrule + +\end{tabulary} +\end{minipage} +\end{table} + \input{mmd6-article-footer} \end{document} diff --git a/tests/MMD6Tests/Tables.text b/tests/MMD6Tests/Tables.text index 096fea8..fb44d54 100644 --- a/tests/MMD6Tests/Tables.text +++ b/tests/MMD6Tests/Tables.text @@ -54,3 +54,16 @@ latex config: article | foo | bar | | --- | --- | | foo | bar | + + +6 + +| --- | --- | +| foo | bar | +[*caption*][bar] + + +| bat || +| foo | bar | +| --- | --- | +| foo | bar |