]> granicus.if.org Git - multimarkdown/commitdiff
FIXED: Improve organization of fallback lines for fenced code blocks and HTML blocks
authorFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 4 Apr 2017 02:06:50 +0000 (22:06 -0400)
committerFletcher T. Penney <fletcher@fletcherpenney.net>
Tue, 4 Apr 2017 02:06:50 +0000 (22:06 -0400)
Sources/libMultiMarkdown/parser.c
Sources/libMultiMarkdown/parser.h
Sources/libMultiMarkdown/parser.out
Sources/libMultiMarkdown/parser.y
tests/MMD6Tests/Fenced Code Blocks.fodt
tests/MMD6Tests/Fenced Code Blocks.html
tests/MMD6Tests/Fenced Code Blocks.htmlc
tests/MMD6Tests/Fenced Code Blocks.tex
tests/MMD6Tests/Fenced Code Blocks.text

index ec10510a413e9acf541703a9701db51d08696a63..c60f67df231a69154fb62106ce6c9e2d8015cd11 100644 (file)
@@ -108,15 +108,15 @@ typedef union {
 #define ParseARG_STORE yypParser->engine  = engine 
 #define YYFALLBACK 1
 #define YYNSTATE             44
-#define YYNRULE              136
+#define YYNRULE              138
 #define YY_MAX_SHIFT         43
-#define YY_MIN_SHIFTREDUCE   138
-#define YY_MAX_SHIFTREDUCE   273
-#define YY_MIN_REDUCE        274
-#define YY_MAX_REDUCE        409
-#define YY_ERROR_ACTION      410
-#define YY_ACCEPT_ACTION     411
-#define YY_NO_ACTION         412
+#define YY_MIN_SHIFTREDUCE   140
+#define YY_MAX_SHIFTREDUCE   277
+#define YY_MIN_REDUCE        278
+#define YY_MAX_REDUCE        415
+#define YY_ERROR_ACTION      416
+#define YY_ACCEPT_ACTION     417
+#define YY_NO_ACTION         418
 /************* End control #defines *******************************************/
 
 /* Define the yytestcase() macro to be a no-op if is not already defined
@@ -188,93 +188,99 @@ typedef union {
 **  yy_default[]       Default action for each state.
 **
 *********** Begin parsing tables **********************************************/
-#define YY_ACTTAB_COUNT (266)
+#define YY_ACTTAB_COUNT (295)
 static const YYACTIONTYPE yy_action[] = {
- /*     0 */   411,    1,  140,   32,  150,  151,  152,  153,  154,  155,
- /*    10 */    43,  157,   30,   29,   40,   38,   31,   14,  164,  165,
- /*    20 */   166,   42,  219,   13,   13,   29,  268,  272,   37,   37,
- /*    30 */    34,   34,   27,  225,   26,   25,   28,   40,   38,  265,
- /*    40 */     8,  242,   41,  194,   15,   15,  274,  147,  167,   20,
- /*    50 */    20,   16,  228,  229,  268,  272,  256,  141,  142,  143,
- /*    60 */   144,  145,  146,  233,    7,    6,   17,    4,    3,    2,
- /*    70 */    18,  264,   28,  148,    5,  242,  244,  247,  250,  245,
- /*    80 */   248,  251,  263,  147,  167,   24,   24,   16,  228,  229,
- /*    90 */   268,  272,  256,  141,  142,  143,  144,  145,  146,  233,
- /*   100 */     7,    6,   17,    4,    3,    2,   18,   33,   33,  148,
- /*   110 */     5,  242,  244,  247,  250,  245,  248,  251,  263,  139,
- /*   120 */    32,  150,  151,  152,  153,  154,  155,   43,  157,   30,
- /*   130 */    29,   40,   38,   31,   14,  164,  165,  166,  254,  255,
- /*   140 */   252,   23,   29,  268,  272,   35,   35,   34,   34,   27,
- /*   150 */    42,   26,   25,  222,   40,   38,  190,    8,  187,   41,
- /*   160 */   200,   15,   15,   28,  220,  253,  195,  197,  193,  196,
- /*   170 */   198,  254,  255,  252,   10,   10,   19,   19,   28,  199,
- /*   180 */   176,  176,    9,   42,    9,   13,   13,  214,  215,   10,
- /*   190 */    10,   19,   19,  228,  229,  175,  175,   28,  253,  191,
- /*   200 */   188,  189,  192,  254,  255,  252,   28,  173,   10,   10,
- /*   210 */    19,   19,  167,    5,  174,  174,  183,   10,   10,   19,
- /*   220 */    19,  228,  229,  181,  181,   28,  259,   36,   36,  257,
- /*   230 */   253,  184,  185,  186,  225,  258,   11,   11,   21,   21,
- /*   240 */    28,  208,  235,   28,  201,   39,   39,  218,  217,  212,
- /*   250 */     5,   12,   12,   22,   22,  234,  203,  168,  180,  242,
- /*   260 */     6,    7,  218,  183,  207,  202,
+ /*     0 */   417,    1,  142,   32,  152,  153,  154,  155,  156,  157,
+ /*    10 */    43,  159,   28,   30,   40,   38,   31,   14,  166,  167,
+ /*    20 */   168,   42,  221,   13,   13,   30,  272,  276,  272,  276,
+ /*    30 */    34,   34,   27,  227,   26,   25,   29,   40,   38,  244,
+ /*    40 */     8,  196,   41,  227,   15,   15,  278,  149,  169,   20,
+ /*    50 */    20,   16,  230,  231,  272,  276,  222,  259,  143,  144,
+ /*    60 */   145,  146,  147,  148,  235,    7,    6,   17,    4,    3,
+ /*    70 */     2,   18,  150,    5,  267,  244,  246,  249,  252,  247,
+ /*    80 */   250,  253,  244,  149,   37,   37,  192,   16,  230,  231,
+ /*    90 */   272,  276,  189,  259,  143,  144,  145,  146,  147,  148,
+ /*   100 */   235,    7,    6,   17,    4,    3,    2,   18,  150,    5,
+ /*   110 */   267,  201,  246,  249,  252,  247,  250,  253,  244,  141,
+ /*   120 */    32,  152,  153,  154,  155,  156,  157,   43,  159,   28,
+ /*   130 */    30,   40,   38,   31,   14,  166,  167,  168,   42,  216,
+ /*   140 */   217,  224,   30,   33,   33,   35,   35,   34,   34,   27,
+ /*   150 */    23,   26,   25,   29,   40,   38,  202,    8,  214,   41,
+ /*   160 */   169,   15,   15,  257,    5,  175,  254,  170,   29,    5,
+ /*   170 */   230,  231,  256,  258,  257,   36,   36,  254,  269,   10,
+ /*   180 */    10,   19,   19,  256,  258,  178,  178,    9,   42,    9,
+ /*   190 */    13,   13,  197,  199,  195,  198,  200,  182,  255,    6,
+ /*   200 */   185,   29,  268,  193,  190,  191,  194,  257,  209,  255,
+ /*   210 */   254,   29,   10,   10,   19,   19,  256,  258,  177,  177,
+ /*   220 */   237,    7,   10,   10,   19,   19,   39,   39,  176,  176,
+ /*   230 */   262,  204,   29,  260,  236,  220,  186,  187,  188,  261,
+ /*   240 */   263,   29,  255,   10,   10,   19,   19,   29,  185,  183,
+ /*   250 */   183,  280,   11,   11,   21,   21,   29,  210,   12,   12,
+ /*   260 */    22,   22,  280,  205,  230,  231,  280,  280,  169,   24,
+ /*   270 */    24,  280,  220,  219,  280,  280,  280,  280,  280,  280,
+ /*   280 */   280,  280,  280,  280,  280,  280,  280,  280,  280,  280,
+ /*   290 */   280,  280,  280,  280,  203,
 };
 static const YYCODETYPE yy_lookahead[] = {
  /*     0 */    38,   39,   40,   41,   42,   43,   44,   45,   46,   47,
  /*    10 */    48,   49,   50,   51,   52,   53,   54,   55,   56,   57,
- /*    20 */    58,   80,   81,   82,   83,   63,    8,    9,   68,   69,
- /*    30 */    68,   69,   70,    4,   72,   73,   48,   75,   76,    4,
- /*    40 */    78,   29,   80,   71,   82,   83,    0,    1,   60,   61,
- /*    50 */    62,    5,    6,    7,    8,    9,   10,   11,   12,   13,
+ /*    20 */    58,   80,   81,   82,   83,   63,    8,    9,    8,    9,
+ /*    30 */    68,   69,   70,    4,   72,   73,   48,   75,   76,   36,
+ /*    40 */    78,   71,   80,    4,   82,   83,    0,    1,   60,   61,
+ /*    50 */    62,    5,    6,    7,    8,    9,   36,   11,   12,   13,
  /*    60 */    14,   15,   16,   17,   18,   19,   20,   21,   22,   23,
- /*    70 */    24,   36,   48,   27,   28,   29,   30,   31,   32,   33,
- /*    80 */    34,   35,   36,    1,   60,   61,   62,    5,    6,    7,
- /*    90 */     8,    9,   10,   11,   12,   13,   14,   15,   16,   17,
- /*   100 */    18,   19,   20,   21,   22,   23,   24,   59,   60,   27,
- /*   110 */    28,   29,   30,   31,   32,   33,   34,   35,   36,   40,
+ /*    70 */    24,   25,   26,   27,   28,   36,   30,   31,   32,   33,
+ /*    80 */    34,   35,   36,    1,   68,   69,   71,    5,    6,    7,
+ /*    90 */     8,    9,   71,   11,   12,   13,   14,   15,   16,   17,
+ /*   100 */    18,   19,   20,   21,   22,   23,   24,   25,   26,   27,
+ /*   110 */    28,   74,   30,   31,   32,   33,   34,   35,   36,   40,
  /*   120 */    41,   42,   43,   44,   45,   46,   47,   48,   49,   50,
- /*   130 */    51,   52,   53,   54,   55,   56,   57,   58,    2,    3,
- /*   140 */     4,   63,   63,    8,    9,   59,   60,   68,   69,   70,
- /*   150 */    80,   72,   73,   83,   75,   76,   71,   78,   71,   80,
- /*   160 */    63,   82,   83,   48,   29,   29,   30,   31,   32,   33,
- /*   170 */    34,    2,    3,    4,   59,   60,   61,   62,   48,   74,
- /*   180 */    65,   66,   79,   80,   81,   82,   83,    2,    3,   59,
- /*   190 */    60,   61,   62,    6,    7,   65,   66,   48,   29,   30,
- /*   200 */    31,   32,   33,    2,    3,    4,   48,   67,   59,   60,
- /*   210 */    61,   62,   60,   28,   65,   66,   29,   59,   60,   61,
- /*   220 */    62,    6,    7,   65,   66,   48,    1,   59,   60,    4,
- /*   230 */    29,   30,   31,   32,    4,   10,   59,   60,   61,   62,
- /*   240 */    48,   64,    4,   48,   29,   59,   60,    8,    9,   77,
- /*   250 */    28,   59,   60,   61,   62,   17,   64,   62,   69,   29,
- /*   260 */    19,   18,    8,   29,   76,   75,
+ /*   130 */    51,   52,   53,   54,   55,   56,   57,   58,   80,    2,
+ /*   140 */     3,   83,   63,   59,   60,   59,   60,   68,   69,   70,
+ /*   150 */    63,   72,   73,   48,   75,   76,   63,   78,   77,   80,
+ /*   160 */    60,   82,   83,    1,   27,   67,    4,   62,   48,   27,
+ /*   170 */     6,    7,   10,   11,    1,   59,   60,    4,    4,   59,
+ /*   180 */    60,   61,   62,   10,   11,   65,   66,   79,   80,   81,
+ /*   190 */    82,   83,   30,   31,   32,   33,   34,   69,   36,   20,
+ /*   200 */    36,   48,   28,   30,   31,   32,   33,    1,   76,   36,
+ /*   210 */     4,   48,   59,   60,   61,   62,   10,   11,   65,   66,
+ /*   220 */     4,   19,   59,   60,   61,   62,   59,   60,   65,   66,
+ /*   230 */     1,   75,   48,    4,   18,    8,   30,   31,   32,   10,
+ /*   240 */    11,   48,   36,   59,   60,   61,   62,   48,   36,   65,
+ /*   250 */    66,   84,   59,   60,   61,   62,   48,   64,   59,   60,
+ /*   260 */    61,   62,   84,   64,    6,    7,   84,   84,   60,   61,
+ /*   270 */    62,   84,    8,    9,   84,   84,   84,   84,   84,   84,
+ /*   280 */    84,   84,   84,   84,   84,   84,   84,   84,   84,   84,
+ /*   290 */    84,   84,   84,   84,   36,
 };
-#define YY_SHIFT_USE_DFLT (266)
+#define YY_SHIFT_USE_DFLT (295)
 #define YY_SHIFT_COUNT    (43)
 #define YY_SHIFT_MIN      (0)
-#define YY_SHIFT_MAX      (254)
+#define YY_SHIFT_MAX      (264)
 static const unsigned short int yy_shift_ofst[] = {
- /*     0 */    82,   46,  230,  230,  230,  230,  230,  230,   18,   18,
- /*    10 */   230,  230,  230,  135,  185,   18,   29,   29,   29,   12,
- /*    20 */    12,   12,   12,   29,   12,  136,  169,  201,  187,  215,
- /*    30 */   225,   35,  238,   29,  222,   29,   29,  222,  241,   29,
- /*    40 */   243,  239,  254,  234,
+ /*     0 */    82,   46,   39,   39,   39,   39,   39,   39,   18,   18,
+ /*    10 */    39,   39,   39,   20,  137,   18,   29,   29,   29,    3,
+ /*    20 */     3,    3,    3,   29,    3,  162,  173,  206,  229,  164,
+ /*    30 */   258,  174,  216,   29,  142,   29,   29,  142,  179,   29,
+ /*    40 */   202,  264,  227,  212,
 };
 #define YY_REDUCE_USE_DFLT (-60)
 #define YY_REDUCE_COUNT (40)
 #define YY_REDUCE_MIN   (-59)
-#define YY_REDUCE_MAX   (195)
+#define YY_REDUCE_MAX   (208)
 static const short yy_reduce_ofst[] = {
- /*     0 */   -38,   79,  115,  130,  149,  158,  177,  192,  103,  -59,
- /*    10 */   -12,   24,   24,   70,  -40,   70,   48,   86,  168,  195,
- /*    20 */   195,  195,  195,  186,  195,  -28,   85,   87,   78,   97,
- /*    30 */   105,  172,  140,  152,  189,  152,  152,  189,  188,  152,
- /*    40 */   190,
+ /*     0 */   -38,   79,  120,  153,  163,  184,  193,  199,  108,  -59,
+ /*    10 */   -12,  208,  208,   58,   16,   58,   84,   86,  116,  105,
+ /*    20 */   105,  105,  105,  167,  105,  -30,   15,   21,   37,   87,
+ /*    30 */    93,   81,   98,  100,  128,  100,  100,  128,  132,  100,
+ /*    40 */   156,
 };
 static const YYACTIONTYPE yy_default[] = {
- /*     0 */   410,  410,  374,  373,  372,  318,  347,  342,  403,  352,
- /*    10 */   366,  345,  340,  357,  299,  359,  402,  376,  375,  368,
- /*    20 */   308,  346,  341,  306,  307,  385,  382,  379,  363,  295,
- /*    30 */   294,  298,  285,  349,  409,  314,  313,  315,  297,  305,
- /*    40 */   296,  407,  407,  292,
+ /*     0 */   416,  416,  378,  377,  376,  322,  351,  346,  409,  356,
+ /*    10 */   370,  349,  344,  361,  303,  363,  408,  380,  379,  372,
+ /*    20 */   312,  350,  345,  310,  311,  389,  386,  383,  298,  367,
+ /*    30 */   299,  302,  289,  353,  415,  318,  317,  319,  301,  309,
+ /*    40 */   300,  413,  413,  296,
 };
 /********** End of lemon-generated parsing tables *****************************/
 
@@ -304,23 +310,32 @@ static const YYCODETYPE yyFallback[] = {
     4,  /* LINE_INDENTED_SPACE => LINE_CONTINUATION */
     4,  /* LINE_TABLE => LINE_CONTINUATION */
     4,  /* LINE_TABLE_SEPARATOR => LINE_CONTINUATION */
-    0,  /*  LINE_HTML => nothing */
-   10,  /* LINE_ATX_1 => LINE_HTML */
-   10,  /* LINE_ATX_2 => LINE_HTML */
-   10,  /* LINE_ATX_3 => LINE_HTML */
-   10,  /* LINE_ATX_4 => LINE_HTML */
-   10,  /* LINE_ATX_5 => LINE_HTML */
-   10,  /* LINE_ATX_6 => LINE_HTML */
-   10,  /* LINE_BLOCKQUOTE => LINE_HTML */
-   10,  /* LINE_LIST_BULLETED => LINE_HTML */
-   10,  /* LINE_LIST_ENUMERATED => LINE_HTML */
-   10,  /* LINE_DEF_ABBREVIATION => LINE_HTML */
-   10,  /* LINE_DEF_CITATION => LINE_HTML */
-   10,  /* LINE_DEF_FOOTNOTE => LINE_HTML */
-   10,  /* LINE_DEF_GLOSSARY => LINE_HTML */
-   10,  /* LINE_DEF_LINK => LINE_HTML */
-   10,  /* LINE_FENCE_BACKTICK => LINE_HTML */
-   10,  /* LINE_FENCE_BACKTICK_START => LINE_HTML */
+    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 */
+    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 */
 };
 #endif /* YYFALLBACK */
 
@@ -408,14 +423,14 @@ void ParseTrace(FILE *TraceFILE, char *zTracePrompt){
 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_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_FENCE_BACKTICK",  "LINE_FENCE_BACKTICK_START",  "LINE_TOC",    
-  "LINE_DEFINITION",  "LINE_EMPTY",    "LINE_FENCE_BACKTICK_3",  "LINE_FENCE_BACKTICK_4",
+  "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_META",     "error",         "doc",           "blocks",      
+  "LINE_EMPTY",    "error",         "doc",           "blocks",      
   "block",         "blockquote",    "def_abbreviation",  "def_citation",
   "def_footnote",  "def_glossary",  "def_link",      "definition_block",
   "empty",         "fenced_block",  "html_block",    "indented_code",
@@ -550,26 +565,28 @@ static const char *const yyRuleName[] = {
  /* 113 */ "fenced_5 ::= LINE_FENCE_BACKTICK_START_5",
  /* 114 */ "fenced_line ::= LINE_CONTINUATION",
  /* 115 */ "fenced_line ::= LINE_EMPTY",
- /* 116 */ "fenced_line ::= LINE_SETEXT_1",
- /* 117 */ "fenced_line ::= LINE_SETEXT_2",
- /* 118 */ "html_block ::= LINE_HTML",
- /* 119 */ "html_line ::= LINE_CONTINUATION",
- /* 120 */ "html_line ::= LINE_HTML",
- /* 121 */ "html_line ::= LINE_HR",
- /* 122 */ "indented_code ::= indented_line",
- /* 123 */ "list_bullet ::= item_bullet",
- /* 124 */ "list_enum ::= item_enum",
- /* 125 */ "meta_block ::= LINE_META",
- /* 126 */ "meta_line ::= LINE_META",
- /* 127 */ "meta_line ::= LINE_CONTINUATION",
- /* 128 */ "para ::= LINE_PLAIN",
- /* 129 */ "table ::= table_header",
- /* 130 */ "header_rows ::= LINE_TABLE",
- /* 131 */ "table_body ::= table_section",
- /* 132 */ "all_rows ::= row",
- /* 133 */ "row ::= header_rows",
- /* 134 */ "row ::= LINE_TABLE_SEPARATOR",
- /* 135 */ "para ::= defs",
+ /* 116 */ "fenced_line ::= LINE_FALLBACK",
+ /* 117 */ "fenced_line ::= LINE_HR",
+ /* 118 */ "fenced_line ::= LINE_HTML",
+ /* 119 */ "html_block ::= LINE_HTML",
+ /* 120 */ "html_line ::= LINE_CONTINUATION",
+ /* 121 */ "html_line ::= LINE_FALLBACK",
+ /* 122 */ "html_line ::= LINE_HR",
+ /* 123 */ "html_line ::= LINE_HTML",
+ /* 124 */ "indented_code ::= indented_line",
+ /* 125 */ "list_bullet ::= item_bullet",
+ /* 126 */ "list_enum ::= item_enum",
+ /* 127 */ "meta_block ::= LINE_META",
+ /* 128 */ "meta_line ::= LINE_META",
+ /* 129 */ "meta_line ::= LINE_CONTINUATION",
+ /* 130 */ "para ::= LINE_PLAIN",
+ /* 131 */ "table ::= table_header",
+ /* 132 */ "header_rows ::= LINE_TABLE",
+ /* 133 */ "table_body ::= table_section",
+ /* 134 */ "all_rows ::= row",
+ /* 135 */ "row ::= header_rows",
+ /* 136 */ "row ::= LINE_TABLE_SEPARATOR",
+ /* 137 */ "para ::= defs",
 };
 #endif /* NDEBUG */
 
@@ -1036,10 +1053,12 @@ static const struct {
   { 71, 1 },
   { 71, 1 },
   { 71, 1 },
+  { 71, 1 },
   { 50, 1 },
   { 74, 1 },
   { 74, 1 },
   { 74, 1 },
+  { 74, 1 },
   { 51, 1 },
   { 52, 1 },
   { 53, 1 },
@@ -1377,26 +1396,28 @@ static void yy_reduce(
       /* (113) fenced_5 ::= LINE_FENCE_BACKTICK_START_5 */ yytestcase(yyruleno==113);
       /* (114) fenced_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==114);
       /* (115) fenced_line ::= LINE_EMPTY */ yytestcase(yyruleno==115);
-      /* (116) fenced_line ::= LINE_SETEXT_1 */ yytestcase(yyruleno==116);
-      /* (117) fenced_line ::= LINE_SETEXT_2 */ yytestcase(yyruleno==117);
-      /* (118) html_block ::= LINE_HTML */ yytestcase(yyruleno==118);
-      /* (119) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==119);
-      /* (120) html_line ::= LINE_HTML */ yytestcase(yyruleno==120);
-      /* (121) html_line ::= LINE_HR */ yytestcase(yyruleno==121);
-      /* (122) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=122);
-      /* (123) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=123);
-      /* (124) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=124);
-      /* (125) meta_block ::= LINE_META */ yytestcase(yyruleno==125);
-      /* (126) meta_line ::= LINE_META */ yytestcase(yyruleno==126);
-      /* (127) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==127);
-      /* (128) para ::= LINE_PLAIN */ yytestcase(yyruleno==128);
-      /* (129) table ::= table_header */ yytestcase(yyruleno==129);
-      /* (130) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==130);
-      /* (131) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=131);
-      /* (132) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=132);
-      /* (133) row ::= header_rows */ yytestcase(yyruleno==133);
-      /* (134) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==134);
-      /* (135) para ::= defs */ yytestcase(yyruleno==135);
+      /* (116) fenced_line ::= LINE_FALLBACK */ yytestcase(yyruleno==116);
+      /* (117) fenced_line ::= LINE_HR */ yytestcase(yyruleno==117);
+      /* (118) fenced_line ::= LINE_HTML */ yytestcase(yyruleno==118);
+      /* (119) html_block ::= LINE_HTML */ yytestcase(yyruleno==119);
+      /* (120) html_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==120);
+      /* (121) html_line ::= LINE_FALLBACK */ yytestcase(yyruleno==121);
+      /* (122) html_line ::= LINE_HR */ yytestcase(yyruleno==122);
+      /* (123) html_line ::= LINE_HTML */ yytestcase(yyruleno==123);
+      /* (124) indented_code ::= indented_line (OPTIMIZED OUT) */ assert(yyruleno!=124);
+      /* (125) list_bullet ::= item_bullet (OPTIMIZED OUT) */ assert(yyruleno!=125);
+      /* (126) list_enum ::= item_enum (OPTIMIZED OUT) */ assert(yyruleno!=126);
+      /* (127) meta_block ::= LINE_META */ yytestcase(yyruleno==127);
+      /* (128) meta_line ::= LINE_META */ yytestcase(yyruleno==128);
+      /* (129) meta_line ::= LINE_CONTINUATION */ yytestcase(yyruleno==129);
+      /* (130) para ::= LINE_PLAIN */ yytestcase(yyruleno==130);
+      /* (131) table ::= table_header */ yytestcase(yyruleno==131);
+      /* (132) header_rows ::= LINE_TABLE */ yytestcase(yyruleno==132);
+      /* (133) table_body ::= table_section (OPTIMIZED OUT) */ assert(yyruleno!=133);
+      /* (134) all_rows ::= row (OPTIMIZED OUT) */ assert(yyruleno!=134);
+      /* (135) row ::= header_rows */ yytestcase(yyruleno==135);
+      /* (136) row ::= LINE_TABLE_SEPARATOR */ yytestcase(yyruleno==136);
+      /* (137) para ::= defs */ yytestcase(yyruleno==137);
         break;
 /********** End reduce actions ************************************************/
   };
index 5c1dc2c5ce5a5dbe319b96f2d853e7e9a79b4842..3c8791ce247d030fa0eb8a5df283f18224dca1cb 100644 (file)
@@ -7,30 +7,30 @@
 #define LINE_INDENTED_SPACE              7
 #define LINE_TABLE                       8
 #define LINE_TABLE_SEPARATOR             9
-#define LINE_HTML                       10
-#define LINE_ATX_1                      11
-#define LINE_ATX_2                      12
-#define LINE_ATX_3                      13
-#define LINE_ATX_4                      14
-#define LINE_ATX_5                      15
-#define LINE_ATX_6                      16
-#define LINE_BLOCKQUOTE                 17
-#define LINE_LIST_BULLETED              18
-#define LINE_LIST_ENUMERATED            19
-#define LINE_DEF_ABBREVIATION           20
-#define LINE_DEF_CITATION               21
-#define LINE_DEF_FOOTNOTE               22
-#define LINE_DEF_GLOSSARY               23
-#define LINE_DEF_LINK                   24
-#define LINE_FENCE_BACKTICK             25
-#define LINE_FENCE_BACKTICK_START       26
-#define LINE_TOC                        27
-#define LINE_DEFINITION                 28
-#define LINE_EMPTY                      29
+#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_META                       36
+#define LINE_EMPTY                      36
index ed89f4aa6b81a249add6745dd3e9bd58050fc018..4644b5b691b59962cff4e1e464e9af2e2d221263 100644 (file)
@@ -112,9 +112,9 @@ State 0:
                     LINE_PLAIN shift        16     
              LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
            LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
-                     LINE_HTML shift-reduce 118    html_block ::= LINE_HTML
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
+                     LINE_HTML shift-reduce 119    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
@@ -131,14 +131,14 @@ State 0:
                  LINE_DEF_LINK shift        18     
                       LINE_TOC shift-reduce 10     block ::= LINE_TOC
                LINE_DEFINITION shift        5      
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
+                     LINE_META shift-reduce 127    meta_block ::= LINE_META
          LINE_FENCE_BACKTICK_3 shift-reduce 106    fenced_3 ::= LINE_FENCE_BACKTICK_3
          LINE_FENCE_BACKTICK_4 shift-reduce 109    fenced_4 ::= LINE_FENCE_BACKTICK_4
          LINE_FENCE_BACKTICK_5 shift-reduce 112    fenced_5 ::= LINE_FENCE_BACKTICK_5
    LINE_FENCE_BACKTICK_START_3 shift-reduce 107    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
    LINE_FENCE_BACKTICK_START_4 shift-reduce 110    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
    LINE_FENCE_BACKTICK_START_5 shift-reduce 113    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
-                     LINE_META shift-reduce 125    meta_block ::= LINE_META
+                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                            doc accept
                         blocks shift        1      
                          block shift-reduce 2      blocks ::= block
@@ -151,8 +151,8 @@ State 0:
               definition_block shift-reduce 17     block ::= definition_block
                          empty shift        43     
                   fenced_block shift-reduce 19     block ::= fenced_block
-                    html_block shift        30     
-                 indented_code shift        29     
+                    html_block shift        28     
+                 indented_code shift        30     
                    list_bullet shift        40     
                      list_enum shift        38     
                     meta_block shift        31     
@@ -160,7 +160,7 @@ State 0:
                       setext_1 shift-reduce 26     block ::= setext_1
                       setext_2 shift-reduce 27     block ::= setext_2
                          table shift-reduce 28     block ::= table
-                 indented_line shift        29       /* because indented_line==indented_code */
+                 indented_line shift        30       /* because indented_line==indented_code */
                           defs shift        34     
                            def shift        34       /* because def==defs */
                       fenced_3 shift        27     
@@ -287,9 +287,9 @@ State 1:
                     LINE_PLAIN shift        16     
              LINE_INDENTED_TAB shift-reduce 90     indented_line ::= LINE_INDENTED_TAB
            LINE_INDENTED_SPACE shift-reduce 91     indented_line ::= LINE_INDENTED_SPACE
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
-                     LINE_HTML shift-reduce 118    html_block ::= LINE_HTML
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
+                     LINE_HTML shift-reduce 119    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
@@ -306,14 +306,14 @@ State 1:
                  LINE_DEF_LINK shift        18     
                       LINE_TOC shift-reduce 10     block ::= LINE_TOC
                LINE_DEFINITION shift        5      
-                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
+                     LINE_META shift-reduce 127    meta_block ::= LINE_META
          LINE_FENCE_BACKTICK_3 shift-reduce 106    fenced_3 ::= LINE_FENCE_BACKTICK_3
          LINE_FENCE_BACKTICK_4 shift-reduce 109    fenced_4 ::= LINE_FENCE_BACKTICK_4
          LINE_FENCE_BACKTICK_5 shift-reduce 112    fenced_5 ::= LINE_FENCE_BACKTICK_5
    LINE_FENCE_BACKTICK_START_3 shift-reduce 107    fenced_3 ::= LINE_FENCE_BACKTICK_START_3
    LINE_FENCE_BACKTICK_START_4 shift-reduce 110    fenced_4 ::= LINE_FENCE_BACKTICK_START_4
    LINE_FENCE_BACKTICK_START_5 shift-reduce 113    fenced_5 ::= LINE_FENCE_BACKTICK_START_5
-                     LINE_META shift-reduce 125    meta_block ::= LINE_META
+                    LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                          block shift-reduce 1      blocks ::= blocks block
                     blockquote shift        32     
               def_abbreviation shift-reduce 12     block ::= def_abbreviation
@@ -324,8 +324,8 @@ State 1:
               definition_block shift-reduce 17     block ::= definition_block
                          empty shift        43     
                   fenced_block shift-reduce 19     block ::= fenced_block
-                    html_block shift        30     
-                 indented_code shift        29     
+                    html_block shift        28     
+                 indented_code shift        30     
                    list_bullet shift        40     
                      list_enum shift        38     
                     meta_block shift        31     
@@ -333,7 +333,7 @@ State 1:
                       setext_1 shift-reduce 26     block ::= setext_1
                       setext_2 shift-reduce 27     block ::= setext_2
                          table shift-reduce 28     block ::= table
-                 indented_line shift        29       /* because indented_line==indented_code */
+                 indented_line shift        30       /* because indented_line==indented_code */
                           defs shift        34     
                            def shift        34       /* because def==defs */
                       fenced_3 shift        27     
@@ -367,7 +367,7 @@ State 2:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       100     ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        10     
                     chunk_line shift        10       /* because chunk_line==chunk */
                  nested_chunks shift        19     
@@ -397,7 +397,7 @@ State 3:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       99      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        10     
                     chunk_line shift        10       /* because chunk_line==chunk */
                  nested_chunks shift        19     
@@ -427,7 +427,7 @@ State 4:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       98      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        10     
                     chunk_line shift        10       /* because chunk_line==chunk */
                  nested_chunks shift        19     
@@ -457,7 +457,7 @@ State 5:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       44      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        10     
                     chunk_line shift        10       /* because chunk_line==chunk */
                  nested_chunks shift        19     
@@ -486,7 +486,7 @@ State 6:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       73      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        11     
                     chunk_line shift        11       /* because chunk_line==chunk */
                  nested_chunks shift        21     
@@ -514,7 +514,7 @@ State 7:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       68      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                          chunk shift        12     
                     chunk_line shift        12       /* because chunk_line==chunk */
                  nested_chunks shift        22     
@@ -524,7 +524,7 @@ State 7:
 
 State 8:
           table ::= table_header * table_body
-    (129) table ::= table_header *
+    (131) table ::= table_header *
           header_rows ::= * header_rows LINE_TABLE
           header_rows ::= * LINE_TABLE
           table_body ::= * table_body table_section
@@ -536,16 +536,16 @@ State 8:
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
 
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
-                    LINE_TABLE reduce       129     ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       129     ** Parsing conflict **
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
+                    LINE_TABLE reduce       131     ** Parsing conflict **
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR reduce       131     ** Parsing conflict **
                     table_body shift        9      
                    header_rows shift        42     
                  table_section shift        9        /* because table_section==table_body */
                       all_rows shift        13     
                            row shift        13       /* because row==all_rows */
-                     {default} reduce       129    table ::= table_header
+                     {default} reduce       131    table ::= table_header
 
 State 9:
      (78) table ::= table_header table_body *
@@ -559,9 +559,9 @@ State 9:
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
 
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
                     LINE_TABLE reduce       78      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
           LINE_TABLE_SEPARATOR reduce       78      ** Parsing conflict **
                    header_rows shift        42     
                  table_section shift-reduce 81     table_body ::= table_body table_section
@@ -585,7 +585,7 @@ State 10:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       92      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                     chunk_line shift-reduce 29     chunk ::= chunk chunk_line
                  nested_chunks shift        20     
                   nested_chunk shift        20       /* because nested_chunk==nested_chunks */
@@ -607,7 +607,7 @@ State 11:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       71      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                     chunk_line shift-reduce 29     chunk ::= chunk chunk_line
                  nested_chunks shift        24     
                   nested_chunk shift        24       /* because nested_chunk==nested_chunks */
@@ -629,7 +629,7 @@ State 12:
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       66      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                     chunk_line shift-reduce 29     chunk ::= chunk chunk_line
                  nested_chunks shift        24     
                   nested_chunk shift        24       /* because nested_chunk==nested_chunks */
@@ -644,9 +644,9 @@ State 13:
           row ::= * header_rows
           row ::= * LINE_TABLE_SEPARATOR
 
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
                     LINE_TABLE reduce       83      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
           LINE_TABLE_SEPARATOR reduce       83      ** Parsing conflict **
                     LINE_EMPTY shift-reduce 82     table_section ::= all_rows LINE_EMPTY
                     LINE_EMPTY reduce       83      ** Parsing conflict **
@@ -680,9 +680,9 @@ State 15:
           row ::= * LINE_TABLE_SEPARATOR
      (85) para ::= all_rows *
 
-                    LINE_TABLE shift-reduce 130    header_rows ::= LINE_TABLE
+                    LINE_TABLE shift-reduce 132    header_rows ::= LINE_TABLE
                     LINE_TABLE reduce       85      ** Parsing conflict **
-          LINE_TABLE_SEPARATOR shift-reduce 134    row ::= LINE_TABLE_SEPARATOR
+          LINE_TABLE_SEPARATOR shift-reduce 136    row ::= LINE_TABLE_SEPARATOR
           LINE_TABLE_SEPARATOR reduce       85      ** Parsing conflict **
                    header_rows shift        42     
                            row shift-reduce 84     all_rows ::= all_rows row
@@ -693,12 +693,12 @@ State 16:
           chunk ::= * chunk_line
           chunk_line ::= * LINE_CONTINUATION
           para ::= LINE_PLAIN * chunk
-    (128) para ::= LINE_PLAIN *
+    (130) para ::= LINE_PLAIN *
 
              LINE_CONTINUATION shift-reduce 87     chunk_line ::= LINE_CONTINUATION
                          chunk shift        33     
                     chunk_line shift        33       /* because chunk_line==chunk */
-                     {default} reduce       128    para ::= LINE_PLAIN
+                     {default} reduce       130    para ::= LINE_PLAIN
 
 State 17:
           chunk ::= * chunk chunk_line
@@ -735,7 +735,7 @@ State 19:
 
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       94      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                   nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
                      {default} reduce       94     tail ::= nested_chunks
 
@@ -750,7 +750,7 @@ State 20:
 
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       34      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                   nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
                      {default} reduce       34     opt_ext_chunk ::= chunk nested_chunks
 
@@ -765,7 +765,7 @@ State 21:
 
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       72      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                   nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
                      {default} reduce       72     item_enum ::= LINE_LIST_ENUMERATED nested_chunks
 
@@ -780,7 +780,7 @@ State 22:
 
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       67      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                   nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
                      {default} reduce       67     item_bullet ::= LINE_LIST_BULLETED nested_chunks
 
@@ -807,7 +807,7 @@ State 24:
 
                     LINE_EMPTY shift-reduce 104    empty ::= LINE_EMPTY
                     LINE_EMPTY reduce       33      ** Parsing conflict **
-                         empty shift        28     
+                         empty shift        29     
                   nested_chunk shift-reduce 30     nested_chunks ::= nested_chunks nested_chunk
                      {default} reduce       33     ext_chunk ::= chunk nested_chunks
 
@@ -821,14 +821,16 @@ State 25:
           fenced_5 ::= fenced_5 * LINE_FENCE_BACKTICK_START_4
           fenced_line ::= * LINE_CONTINUATION
           fenced_line ::= * LINE_EMPTY
-          fenced_line ::= * LINE_SETEXT_1
-          fenced_line ::= * LINE_SETEXT_2
+          fenced_line ::= * LINE_FALLBACK
+          fenced_line ::= * LINE_HR
+          fenced_line ::= * LINE_HTML
 
-                 LINE_SETEXT_1 shift-reduce 116    fenced_line ::= LINE_SETEXT_1
-                 LINE_SETEXT_2 shift-reduce 117    fenced_line ::= LINE_SETEXT_2
+                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
+                       LINE_HR reduce       111     ** Parsing conflict **
              LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       111     ** Parsing conflict **
+                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       111     ** Parsing conflict **
          LINE_FENCE_BACKTICK_3 shift-reduce 57     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_3
          LINE_FENCE_BACKTICK_3 reduce       111     ** Parsing conflict **
          LINE_FENCE_BACKTICK_4 shift-reduce 59     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_4
@@ -839,6 +841,8 @@ State 25:
    LINE_FENCE_BACKTICK_START_3 reduce       111     ** Parsing conflict **
    LINE_FENCE_BACKTICK_START_4 shift-reduce 60     fenced_5 ::= fenced_5 LINE_FENCE_BACKTICK_START_4
    LINE_FENCE_BACKTICK_START_4 reduce       111     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       111     ** Parsing conflict **
                    fenced_line shift-reduce 56     fenced_5 ::= fenced_5 fenced_line
                      {default} reduce       111    fenced_block ::= fenced_5
 
@@ -851,14 +855,16 @@ State 26:
           fenced_4 ::= fenced_4 * LINE_FENCE_BACKTICK_START_3
           fenced_line ::= * LINE_CONTINUATION
           fenced_line ::= * LINE_EMPTY
-          fenced_line ::= * LINE_SETEXT_1
-          fenced_line ::= * LINE_SETEXT_2
+          fenced_line ::= * LINE_FALLBACK
+          fenced_line ::= * LINE_HR
+          fenced_line ::= * LINE_HTML
 
-                 LINE_SETEXT_1 shift-reduce 116    fenced_line ::= LINE_SETEXT_1
-                 LINE_SETEXT_2 shift-reduce 117    fenced_line ::= LINE_SETEXT_2
+                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
+                       LINE_HR reduce       108     ** Parsing conflict **
              LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       108     ** Parsing conflict **
+                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       108     ** Parsing conflict **
          LINE_FENCE_BACKTICK_3 shift-reduce 53     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_3
          LINE_FENCE_BACKTICK_3 reduce       108     ** Parsing conflict **
          LINE_FENCE_BACKTICK_4 shift-reduce 50     fenced_block ::= fenced_4 LINE_FENCE_BACKTICK_4
@@ -867,6 +873,8 @@ State 26:
          LINE_FENCE_BACKTICK_5 reduce       108     ** Parsing conflict **
    LINE_FENCE_BACKTICK_START_3 shift-reduce 54     fenced_4 ::= fenced_4 LINE_FENCE_BACKTICK_START_3
    LINE_FENCE_BACKTICK_START_3 reduce       108     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       108     ** Parsing conflict **
                    fenced_line shift-reduce 52     fenced_4 ::= fenced_4 fenced_line
                      {default} reduce       108    fenced_block ::= fenced_4
 
@@ -878,24 +886,45 @@ State 27:
           fenced_3 ::= fenced_3 * fenced_line
           fenced_line ::= * LINE_CONTINUATION
           fenced_line ::= * LINE_EMPTY
-          fenced_line ::= * LINE_SETEXT_1
-          fenced_line ::= * LINE_SETEXT_2
+          fenced_line ::= * LINE_FALLBACK
+          fenced_line ::= * LINE_HR
+          fenced_line ::= * LINE_HTML
 
-                 LINE_SETEXT_1 shift-reduce 116    fenced_line ::= LINE_SETEXT_1
-                 LINE_SETEXT_2 shift-reduce 117    fenced_line ::= LINE_SETEXT_2
+                       LINE_HR shift-reduce 117    fenced_line ::= LINE_HR
+                       LINE_HR reduce       105     ** Parsing conflict **
              LINE_CONTINUATION shift-reduce 114    fenced_line ::= LINE_CONTINUATION
-                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
-                    LINE_EMPTY reduce       105     ** Parsing conflict **
+                 LINE_FALLBACK shift-reduce 116    fenced_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 118    fenced_line ::= LINE_HTML
+                     LINE_HTML reduce       105     ** Parsing conflict **
          LINE_FENCE_BACKTICK_3 shift-reduce 46     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_3
          LINE_FENCE_BACKTICK_3 reduce       105     ** Parsing conflict **
          LINE_FENCE_BACKTICK_4 shift-reduce 47     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_4
          LINE_FENCE_BACKTICK_4 reduce       105     ** Parsing conflict **
          LINE_FENCE_BACKTICK_5 shift-reduce 48     fenced_block ::= fenced_3 LINE_FENCE_BACKTICK_5
          LINE_FENCE_BACKTICK_5 reduce       105     ** Parsing conflict **
+                    LINE_EMPTY shift-reduce 115    fenced_line ::= LINE_EMPTY
+                    LINE_EMPTY reduce       105     ** Parsing conflict **
                    fenced_line shift-reduce 49     fenced_3 ::= fenced_3 fenced_line
                      {default} reduce       105    fenced_block ::= fenced_3
 
 State 28:
+     (20) 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 122    html_line ::= LINE_HR
+                       LINE_HR reduce       20      ** Parsing conflict **
+             LINE_CONTINUATION shift-reduce 120    html_line ::= LINE_CONTINUATION
+                 LINE_FALLBACK shift-reduce 121    html_line ::= LINE_FALLBACK
+                     LINE_HTML shift-reduce 123    html_line ::= LINE_HTML
+                     LINE_HTML reduce       20      ** Parsing conflict **
+                     html_line shift-reduce 61     html_block ::= html_block html_line
+                     {default} reduce       20     block ::= html_block
+
+State 29:
           nested_chunk ::= empty * indented_line chunk
           nested_chunk ::= empty * indented_line
      (89) nested_chunk ::= empty *
@@ -912,7 +941,7 @@ State 28:
                  indented_line shift        23     
                      {default} reduce       89     nested_chunk ::= empty
 
-State 29:
+State 30:
      (21) block ::= indented_code *
           indented_line ::= * LINE_INDENTED_TAB
           indented_line ::= * LINE_INDENTED_SPACE
@@ -928,29 +957,14 @@ State 29:
                  indented_line shift-reduce 62     indented_code ::= indented_code indented_line
                      {default} reduce       21     block ::= indented_code
 
-State 30:
-     (20) block ::= html_block *
-          html_block ::= html_block * html_line
-          html_line ::= * LINE_CONTINUATION
-          html_line ::= * LINE_HTML
-          html_line ::= * LINE_HR
-
-                       LINE_HR shift-reduce 121    html_line ::= LINE_HR
-                       LINE_HR reduce       20      ** Parsing conflict **
-             LINE_CONTINUATION shift-reduce 119    html_line ::= LINE_CONTINUATION
-                     LINE_HTML shift-reduce 120    html_line ::= LINE_HTML
-                     LINE_HTML reduce       20      ** Parsing conflict **
-                     html_line shift-reduce 61     html_block ::= html_block html_line
-                     {default} reduce       20     block ::= html_block
-
 State 31:
      (24) block ::= meta_block *
           meta_block ::= meta_block * meta_line
           meta_line ::= * LINE_META
           meta_line ::= * LINE_CONTINUATION
 
-             LINE_CONTINUATION shift-reduce 127    meta_line ::= LINE_CONTINUATION
-                     LINE_META shift-reduce 126    meta_line ::= LINE_META
+             LINE_CONTINUATION shift-reduce 129    meta_line ::= LINE_CONTINUATION
+                     LINE_META shift-reduce 128    meta_line ::= LINE_META
                      LINE_META reduce       24      ** Parsing conflict **
                      meta_line shift-reduce 74     meta_block ::= meta_block meta_line
                      {default} reduce       24     block ::= meta_block
@@ -980,12 +994,12 @@ State 34:
           defs ::= defs * def
           def ::= * LINE_DEFINITION tail
           def ::= * LINE_DEFINITION
-    (135) para ::= defs *
+    (137) para ::= defs *
 
                LINE_DEFINITION shift        5      
-               LINE_DEFINITION reduce       135     ** Parsing conflict **
+               LINE_DEFINITION reduce       137     ** Parsing conflict **
                            def shift-reduce 42     defs ::= defs def
-                     {default} reduce       135    para ::= defs
+                     {default} reduce       137    para ::= defs
 
 State 35:
           chunk ::= chunk * chunk_line
@@ -1054,21 +1068,21 @@ State 40:
 State 41:
           table_header ::= header_rows * LINE_TABLE_SEPARATOR
           header_rows ::= header_rows * LINE_TABLE
-    (133) row ::= header_rows *
+    (135) row ::= header_rows *
 
                     LINE_TABLE shift-reduce 80     header_rows ::= header_rows LINE_TABLE
-                    LINE_TABLE reduce       133     ** Parsing conflict **
+                    LINE_TABLE reduce       135     ** Parsing conflict **
           LINE_TABLE_SEPARATOR shift-reduce 79     table_header ::= header_rows LINE_TABLE_SEPARATOR
-          LINE_TABLE_SEPARATOR reduce       133     ** Parsing conflict **
-                     {default} reduce       133    row ::= header_rows
+          LINE_TABLE_SEPARATOR reduce       135     ** Parsing conflict **
+                     {default} reduce       135    row ::= header_rows
 
 State 42:
           header_rows ::= header_rows * LINE_TABLE
-    (133) row ::= header_rows *
+    (135) row ::= header_rows *
 
                     LINE_TABLE shift-reduce 80     header_rows ::= header_rows LINE_TABLE
-                    LINE_TABLE reduce       133     ** Parsing conflict **
-                     {default} reduce       133    row ::= header_rows
+                    LINE_TABLE reduce       135     ** Parsing conflict **
+                     {default} reduce       135    row ::= header_rows
 
 State 43:
      (18) block ::= empty *
@@ -1090,37 +1104,37 @@ Symbols:
     7: LINE_INDENTED_SPACE
     8: LINE_TABLE
     9: LINE_TABLE_SEPARATOR
-   10: LINE_HTML
-   11: LINE_ATX_1
-   12: LINE_ATX_2
-   13: LINE_ATX_3
-   14: LINE_ATX_4
-   15: LINE_ATX_5
-   16: LINE_ATX_6
-   17: LINE_BLOCKQUOTE
-   18: LINE_LIST_BULLETED
-   19: LINE_LIST_ENUMERATED
-   20: LINE_DEF_ABBREVIATION
-   21: LINE_DEF_CITATION
-   22: LINE_DEF_FOOTNOTE
-   23: LINE_DEF_GLOSSARY
-   24: LINE_DEF_LINK
-   25: LINE_FENCE_BACKTICK
-   26: LINE_FENCE_BACKTICK_START
-   27: LINE_TOC
-   28: LINE_DEFINITION
-   29: LINE_EMPTY
+   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_META
+   36: LINE_EMPTY
    37: error:
-   38: 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_EMPTY 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_META
-   39: 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_EMPTY 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_META
-   40: 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_EMPTY 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_META
+   38: 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_EMPTY
+   39: 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_EMPTY
+   40: 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_EMPTY
    41: blockquote: LINE_BLOCKQUOTE
    42: def_abbreviation: LINE_DEF_ABBREVIATION
    43: def_citation: LINE_DEF_CITATION
@@ -1151,10 +1165,10 @@ Symbols:
    68: defs: LINE_DEFINITION
    69: def: LINE_DEFINITION
    70: fenced_3: LINE_FENCE_BACKTICK_3 LINE_FENCE_BACKTICK_START_3
-   71: fenced_line: LINE_SETEXT_1 LINE_SETEXT_2 LINE_CONTINUATION LINE_EMPTY
+   71: fenced_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML LINE_EMPTY
    72: fenced_4: LINE_FENCE_BACKTICK_4 LINE_FENCE_BACKTICK_START_4
    73: fenced_5: LINE_FENCE_BACKTICK_5 LINE_FENCE_BACKTICK_START_5
-   74: html_line: LINE_HR LINE_CONTINUATION LINE_HTML
+   74: html_line: LINE_HR LINE_CONTINUATION LINE_FALLBACK LINE_HTML
    75: item_bullet: LINE_LIST_BULLETED
    76: item_enum: LINE_LIST_ENUMERATED
    77: meta_line: LINE_CONTINUATION LINE_META
index ec0c52e251fcc4ad475b9d43847a381ed28dbb55..88099fdd024c90e824f3e3a2a83d6fe20845bfff 100644 (file)
 
 %fallback LINE_CONTINUATION LINE_PLAIN LINE_INDENTED_TAB LINE_INDENTED_SPACE LINE_TABLE LINE_TABLE_SEPARATOR.
 
-%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_FENCE_BACKTICK LINE_FENCE_BACKTICK_START.
+%fallback 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.
+
+%fallback 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.
+
 
 doc                                    ::= blocks(B).                                                          { engine->root = B; }
 
@@ -261,8 +265,9 @@ fenced_5                    ::= LINE_FENCE_BACKTICK_START_5.
 
 fenced_line                    ::= LINE_CONTINUATION.
 fenced_line                    ::= LINE_EMPTY.
-fenced_line                    ::= LINE_SETEXT_1.
-fenced_line                    ::= LINE_SETEXT_2.
+fenced_line                    ::= LINE_FALLBACK.
+fenced_line                    ::= LINE_HR.
+fenced_line                    ::= LINE_HTML.
 
 
 // HTML
@@ -270,8 +275,9 @@ html_block(A)               ::= html_block(B) html_line(C).                         { A = B; token_chain_append(B,
 html_block                     ::= LINE_HTML.
 
 html_line                      ::= LINE_CONTINUATION.
-html_line                      ::= LINE_HTML.
+html_line                      ::= LINE_FALLBACK.
 html_line                      ::= LINE_HR.
+html_line                      ::= LINE_HTML.
 
 
 // Indented code blocks
index 43d03673511ddddd15c1016098b498162b346ef8..05532050d2f8935edb7e666296c1dec5966f3311 100644 (file)
 
 <text:p text:style-name="Standard">5</text:p>
 
+<text:p text:style-name="Preformatted Text">&lt;p&gt;foo&lt;/p&gt;<text:line-break/></text:p>
+
 <text:p text:style-name="Preformatted Text">foo<text:line-break/></text:p>
 </office:text>
 </office:body>
index 7e8bcb5af3797e67c478f04ac8d787451a2d8218..2b1c099e4d56fe7243feab19b39dd32e62c8a4ed 100644 (file)
@@ -35,6 +35,9 @@ bar
 
 <p>5</p>
 
+<pre><code>&lt;p&gt;foo&lt;/p&gt;
+</code></pre>
+
 <pre><code>foo
 </code></pre>
 
index 80da4af8c6c1ed951279dd15452e0d2ec639a5ed..af3aaa0c32e768b42e37aea7213c6cd75bf8fc6f 100644 (file)
@@ -29,5 +29,10 @@ latex config:        article</p>
 
 <p>5</p>
 
+<p>```</p>
+
+<p>foo</p>
+```
+
 <p>```
 foo</p>
index e1b060de30fbcbf04050886e632e7a5fc2a0fc07..fe076153ca22b1a347f71277c6268ddeb90dbcbe 100644 (file)
@@ -39,6 +39,10 @@ bar
 
 5
 
+\begin{verbatim}
+<p>foo</p>
+\end{verbatim}
+
 \begin{verbatim}
 foo
 \end{verbatim}
index 1a3651d71bebaf6dbafe34eacefbaf6475b8c358..935ff16208c51611957377164c61f3ebfb1b2501 100644 (file)
@@ -35,5 +35,9 @@ bar
 
 5
 
+```
+<p>foo</p>
+```
+
 ```
 foo