From 6a470ba2f4dcb8ef694885bb33587265876af7e5 Mon Sep 17 00:00:00 2001 From: Le Tan Date: Thu, 1 Nov 2018 19:55:31 +0800 Subject: [PATCH] PegParser: update PegMarkdownHighlight for MathJax 1. Support $ in $$..$$; 2. Support raw display formula \begin{}...\end{} --- peg-highlight/pmh_definitions.h | 1 + peg-highlight/pmh_parser.c | 1695 +++++++++++++++++-------------- src/peghighlighterresult.cpp | 20 +- src/pegmarkdownhighlighter.cpp | 2 +- 4 files changed, 928 insertions(+), 790 deletions(-) diff --git a/peg-highlight/pmh_definitions.h b/peg-highlight/pmh_definitions.h index afa5905a..ad144c70 100755 --- a/peg-highlight/pmh_definitions.h +++ b/peg-highlight/pmh_definitions.h @@ -128,6 +128,7 @@ enum pmh_extensions pmh_EXT_FRONTMATTER = (1 << 2), /**< YAML meta data */ pmh_EXT_MATH = (1 << 3), /**< Math */ pmh_EXT_MARK = (1 << 4), /**< HTML tag content */ + pmh_EXT_MATH_RAW = (1 << 5), /**< Math in format \begin and \end */ }; #endif diff --git a/peg-highlight/pmh_parser.c b/peg-highlight/pmh_parser.c index feac8f88..3b66968f 100644 --- a/peg-highlight/pmh_parser.c +++ b/peg-highlight/pmh_parser.c @@ -4,7 +4,7 @@ #include #include struct _GREG; -#define YYRULECOUNT 250 +#define YYRULECOUNT 255 /* PEG Markdown Highlight * Copyright 2011-2016 Ali Rantakari -- http://hasseg.org @@ -1048,6 +1048,32 @@ bool inline_equation_predict_post(char *buf, int pos) #define IEP_PRE inline_equation_predict_pre(G->buf, G->pos) #define IEP_POST inline_equation_predict_post(G->buf, G->pos) +// Number of display formula raw opening +unsigned char nr_dfr = 0; + +bool start_dfr() +{ + nr_dfr = 1; + return true; +} + +bool inc_dfr() +{ + ++nr_dfr; + return true; +} + +bool dec_dfr() +{ + --nr_dfr; + return true; +} + +bool nested_dfr() +{ + return nr_dfr > 1; +} + #ifndef YY_ALLOC #define YY_ALLOC(N, D) malloc(N) @@ -1286,209 +1312,214 @@ YY_LOCAL(void) yySet(GREG *G, char *text, int count, yythunk *thunk, YY_XTYPE YY #define YYACCEPT yyAccept(G, yythunkpos0) -YY_RULE(int) yy_RawNoteBlock(GREG *G); /* 250 */ -YY_RULE(int) yy_RawNoteReference(GREG *G); /* 249 */ -YY_RULE(int) yy_ExtendedSpecialChar(GREG *G); /* 248 */ -YY_RULE(int) yy_AlphanumericAscii(GREG *G); /* 247 */ -YY_RULE(int) yy_Quoted(GREG *G); /* 246 */ -YY_RULE(int) yy_HtmlTag(GREG *G); /* 245 */ -YY_RULE(int) yy_MarkTagClose(GREG *G); /* 244 */ -YY_RULE(int) yy_MarkTagText(GREG *G); /* 243 */ -YY_RULE(int) yy_MarkTagOpen(GREG *G); /* 242 */ -YY_RULE(int) yy_Ticks5(GREG *G); /* 241 */ -YY_RULE(int) yy_Ticks4(GREG *G); /* 240 */ -YY_RULE(int) yy_Ticks3(GREG *G); /* 239 */ -YY_RULE(int) yy_Ticks2(GREG *G); /* 238 */ -YY_RULE(int) yy_Ticks1(GREG *G); /* 237 */ -YY_RULE(int) yy_SkipBlock(GREG *G); /* 236 */ -YY_RULE(int) yy_References(GREG *G); /* 235 */ -YY_RULE(int) yy_EmptyTitle(GREG *G); /* 234 */ -YY_RULE(int) yy_RefTitleParens(GREG *G); /* 233 */ -YY_RULE(int) yy_RefTitleDouble(GREG *G); /* 232 */ -YY_RULE(int) yy_RefTitleSingle(GREG *G); /* 231 */ -YY_RULE(int) yy_LabelInline(GREG *G); /* 230 */ -YY_RULE(int) yy_RefTitle(GREG *G); /* 229 */ -YY_RULE(int) yy_RefSrc(GREG *G); /* 228 */ -YY_RULE(int) yy_AutoLinkEmail(GREG *G); /* 227 */ -YY_RULE(int) yy_AutoLinkUrl(GREG *G); /* 226 */ -YY_RULE(int) yy_ImageSizeHeight(GREG *G); /* 225 */ -YY_RULE(int) yy_ImageSizeWidth(GREG *G); /* 224 */ -YY_RULE(int) yy_ImageSizeComplete(GREG *G); /* 223 */ -YY_RULE(int) yy_TitleDoubleExt(GREG *G); /* 222 */ -YY_RULE(int) yy_TitleSingleExt(GREG *G); /* 221 */ -YY_RULE(int) yy_TitleDouble(GREG *G); /* 220 */ -YY_RULE(int) yy_TitleSingle(GREG *G); /* 219 */ -YY_RULE(int) yy_SourceContents(GREG *G); /* 218 */ -YY_RULE(int) yy_ImageSize(GREG *G); /* 217 */ -YY_RULE(int) yy_TitleExt(GREG *G); /* 216 */ -YY_RULE(int) yy_Title(GREG *G); /* 215 */ -YY_RULE(int) yy_Source(GREG *G); /* 214 */ -YY_RULE(int) yy_Label(GREG *G); /* 213 */ -YY_RULE(int) yy_ReferenceLinkSingle(GREG *G); /* 212 */ -YY_RULE(int) yy_ReferenceLinkDouble(GREG *G); /* 211 */ -YY_RULE(int) yy_AutoLink(GREG *G); /* 210 */ -YY_RULE(int) yy_ReferenceLink(GREG *G); /* 209 */ -YY_RULE(int) yy_ExplicitLinkSize(GREG *G); /* 208 */ -YY_RULE(int) yy_ExplicitLink(GREG *G); /* 207 */ -YY_RULE(int) yy_StrongUl(GREG *G); /* 206 */ -YY_RULE(int) yy_StrongStar(GREG *G); /* 205 */ -YY_RULE(int) yy_Whitespace(GREG *G); /* 204 */ -YY_RULE(int) yy_EmphUl(GREG *G); /* 203 */ -YY_RULE(int) yy_EmphStar(GREG *G); /* 202 */ -YY_RULE(int) yy_StarLine(GREG *G); /* 201 */ -YY_RULE(int) yy_UlLine(GREG *G); /* 200 */ -YY_RULE(int) yy_SpecialChar(GREG *G); /* 199 */ -YY_RULE(int) yy_Eof(GREG *G); /* 198 */ -YY_RULE(int) yy_NormalEndline(GREG *G); /* 197 */ -YY_RULE(int) yy_TerminalEndline(GREG *G); /* 196 */ -YY_RULE(int) yy_LineBreak(GREG *G); /* 195 */ -YY_RULE(int) yy_CharEntity(GREG *G); /* 194 */ -YY_RULE(int) yy_DecEntity(GREG *G); /* 193 */ -YY_RULE(int) yy_HexEntity(GREG *G); /* 192 */ -YY_RULE(int) yy_Alphanumeric(GREG *G); /* 191 */ -YY_RULE(int) yy_NormalChar(GREG *G); /* 190 */ -YY_RULE(int) yy_Symbol(GREG *G); /* 189 */ -YY_RULE(int) yy_EscapedChar(GREG *G); /* 188 */ -YY_RULE(int) yy_Entity(GREG *G); /* 187 */ -YY_RULE(int) yy_RawHtml(GREG *G); /* 186 */ -YY_RULE(int) yy_Mark(GREG *G); /* 185 */ -YY_RULE(int) yy_Code(GREG *G); /* 184 */ -YY_RULE(int) yy_InlineNote(GREG *G); /* 183 */ -YY_RULE(int) yy_NoteReference(GREG *G); /* 182 */ -YY_RULE(int) yy_Link(GREG *G); /* 181 */ -YY_RULE(int) yy_Image(GREG *G); /* 180 */ -YY_RULE(int) yy_Strike(GREG *G); /* 179 */ -YY_RULE(int) yy_Emph(GREG *G); /* 178 */ -YY_RULE(int) yy_Strong(GREG *G); /* 177 */ -YY_RULE(int) yy_UlOrStarLine(GREG *G); /* 176 */ -YY_RULE(int) yy_Str(GREG *G); /* 175 */ -YY_RULE(int) yy_InStyleTags(GREG *G); /* 174 */ -YY_RULE(int) yy_StyleClose(GREG *G); /* 173 */ -YY_RULE(int) yy_StyleOpen(GREG *G); /* 172 */ -YY_RULE(int) yy_HtmlBlockType(GREG *G); /* 171 */ -YY_RULE(int) yy_HtmlBlockSelfClosing(GREG *G); /* 170 */ -YY_RULE(int) yy_HtmlComment(GREG *G); /* 169 */ -YY_RULE(int) yy_HtmlBlockInTags(GREG *G); /* 168 */ -YY_RULE(int) yy_HtmlBlockHead(GREG *G); /* 167 */ -YY_RULE(int) yy_HtmlBlockCloseHead(GREG *G); /* 166 */ -YY_RULE(int) yy_HtmlBlockOpenHead(GREG *G); /* 165 */ -YY_RULE(int) yy_HtmlBlockScript(GREG *G); /* 164 */ -YY_RULE(int) yy_HtmlBlockCloseScript(GREG *G); /* 163 */ -YY_RULE(int) yy_HtmlBlockOpenScript(GREG *G); /* 162 */ -YY_RULE(int) yy_HtmlBlockTr(GREG *G); /* 161 */ -YY_RULE(int) yy_HtmlBlockCloseTr(GREG *G); /* 160 */ -YY_RULE(int) yy_HtmlBlockOpenTr(GREG *G); /* 159 */ -YY_RULE(int) yy_HtmlBlockThead(GREG *G); /* 158 */ -YY_RULE(int) yy_HtmlBlockCloseThead(GREG *G); /* 157 */ -YY_RULE(int) yy_HtmlBlockOpenThead(GREG *G); /* 156 */ -YY_RULE(int) yy_HtmlBlockTh(GREG *G); /* 155 */ -YY_RULE(int) yy_HtmlBlockCloseTh(GREG *G); /* 154 */ -YY_RULE(int) yy_HtmlBlockOpenTh(GREG *G); /* 153 */ -YY_RULE(int) yy_HtmlBlockTfoot(GREG *G); /* 152 */ -YY_RULE(int) yy_HtmlBlockCloseTfoot(GREG *G); /* 151 */ -YY_RULE(int) yy_HtmlBlockOpenTfoot(GREG *G); /* 150 */ -YY_RULE(int) yy_HtmlBlockTd(GREG *G); /* 149 */ -YY_RULE(int) yy_HtmlBlockCloseTd(GREG *G); /* 148 */ -YY_RULE(int) yy_HtmlBlockOpenTd(GREG *G); /* 147 */ -YY_RULE(int) yy_HtmlBlockTbody(GREG *G); /* 146 */ -YY_RULE(int) yy_HtmlBlockCloseTbody(GREG *G); /* 145 */ -YY_RULE(int) yy_HtmlBlockOpenTbody(GREG *G); /* 144 */ -YY_RULE(int) yy_HtmlBlockLi(GREG *G); /* 143 */ -YY_RULE(int) yy_HtmlBlockCloseLi(GREG *G); /* 142 */ -YY_RULE(int) yy_HtmlBlockOpenLi(GREG *G); /* 141 */ -YY_RULE(int) yy_HtmlBlockFrameset(GREG *G); /* 140 */ -YY_RULE(int) yy_HtmlBlockCloseFrameset(GREG *G); /* 139 */ -YY_RULE(int) yy_HtmlBlockOpenFrameset(GREG *G); /* 138 */ -YY_RULE(int) yy_HtmlBlockDt(GREG *G); /* 137 */ -YY_RULE(int) yy_HtmlBlockCloseDt(GREG *G); /* 136 */ -YY_RULE(int) yy_HtmlBlockOpenDt(GREG *G); /* 135 */ -YY_RULE(int) yy_HtmlBlockDd(GREG *G); /* 134 */ -YY_RULE(int) yy_HtmlBlockCloseDd(GREG *G); /* 133 */ -YY_RULE(int) yy_HtmlBlockOpenDd(GREG *G); /* 132 */ -YY_RULE(int) yy_HtmlBlockUl(GREG *G); /* 131 */ -YY_RULE(int) yy_HtmlBlockCloseUl(GREG *G); /* 130 */ -YY_RULE(int) yy_HtmlBlockOpenUl(GREG *G); /* 129 */ -YY_RULE(int) yy_HtmlBlockTable(GREG *G); /* 128 */ -YY_RULE(int) yy_HtmlBlockCloseTable(GREG *G); /* 127 */ -YY_RULE(int) yy_HtmlBlockOpenTable(GREG *G); /* 126 */ -YY_RULE(int) yy_HtmlBlockPre(GREG *G); /* 125 */ -YY_RULE(int) yy_HtmlBlockClosePre(GREG *G); /* 124 */ -YY_RULE(int) yy_HtmlBlockOpenPre(GREG *G); /* 123 */ -YY_RULE(int) yy_HtmlBlockP(GREG *G); /* 122 */ -YY_RULE(int) yy_HtmlBlockCloseP(GREG *G); /* 121 */ -YY_RULE(int) yy_HtmlBlockOpenP(GREG *G); /* 120 */ -YY_RULE(int) yy_HtmlBlockOl(GREG *G); /* 119 */ -YY_RULE(int) yy_HtmlBlockCloseOl(GREG *G); /* 118 */ -YY_RULE(int) yy_HtmlBlockOpenOl(GREG *G); /* 117 */ -YY_RULE(int) yy_HtmlBlockNoscript(GREG *G); /* 116 */ -YY_RULE(int) yy_HtmlBlockCloseNoscript(GREG *G); /* 115 */ -YY_RULE(int) yy_HtmlBlockOpenNoscript(GREG *G); /* 114 */ -YY_RULE(int) yy_HtmlBlockNoframes(GREG *G); /* 113 */ -YY_RULE(int) yy_HtmlBlockCloseNoframes(GREG *G); /* 112 */ -YY_RULE(int) yy_HtmlBlockOpenNoframes(GREG *G); /* 111 */ -YY_RULE(int) yy_HtmlBlockMenu(GREG *G); /* 110 */ -YY_RULE(int) yy_HtmlBlockCloseMenu(GREG *G); /* 109 */ -YY_RULE(int) yy_HtmlBlockOpenMenu(GREG *G); /* 108 */ -YY_RULE(int) yy_HtmlBlockH6(GREG *G); /* 107 */ -YY_RULE(int) yy_HtmlBlockCloseH6(GREG *G); /* 106 */ -YY_RULE(int) yy_HtmlBlockOpenH6(GREG *G); /* 105 */ -YY_RULE(int) yy_HtmlBlockH5(GREG *G); /* 104 */ -YY_RULE(int) yy_HtmlBlockCloseH5(GREG *G); /* 103 */ -YY_RULE(int) yy_HtmlBlockOpenH5(GREG *G); /* 102 */ -YY_RULE(int) yy_HtmlBlockH4(GREG *G); /* 101 */ -YY_RULE(int) yy_HtmlBlockCloseH4(GREG *G); /* 100 */ -YY_RULE(int) yy_HtmlBlockOpenH4(GREG *G); /* 99 */ -YY_RULE(int) yy_HtmlBlockH3(GREG *G); /* 98 */ -YY_RULE(int) yy_HtmlBlockCloseH3(GREG *G); /* 97 */ -YY_RULE(int) yy_HtmlBlockOpenH3(GREG *G); /* 96 */ -YY_RULE(int) yy_HtmlBlockH2(GREG *G); /* 95 */ -YY_RULE(int) yy_HtmlBlockCloseH2(GREG *G); /* 94 */ -YY_RULE(int) yy_HtmlBlockOpenH2(GREG *G); /* 93 */ -YY_RULE(int) yy_HtmlBlockH1(GREG *G); /* 92 */ -YY_RULE(int) yy_HtmlBlockCloseH1(GREG *G); /* 91 */ -YY_RULE(int) yy_HtmlBlockOpenH1(GREG *G); /* 90 */ -YY_RULE(int) yy_HtmlBlockForm(GREG *G); /* 89 */ -YY_RULE(int) yy_HtmlBlockCloseForm(GREG *G); /* 88 */ -YY_RULE(int) yy_HtmlBlockOpenForm(GREG *G); /* 87 */ -YY_RULE(int) yy_HtmlBlockFieldset(GREG *G); /* 86 */ -YY_RULE(int) yy_HtmlBlockCloseFieldset(GREG *G); /* 85 */ -YY_RULE(int) yy_HtmlBlockOpenFieldset(GREG *G); /* 84 */ -YY_RULE(int) yy_HtmlBlockDl(GREG *G); /* 83 */ -YY_RULE(int) yy_HtmlBlockCloseDl(GREG *G); /* 82 */ -YY_RULE(int) yy_HtmlBlockOpenDl(GREG *G); /* 81 */ -YY_RULE(int) yy_HtmlBlockDiv(GREG *G); /* 80 */ -YY_RULE(int) yy_HtmlBlockCloseDiv(GREG *G); /* 79 */ -YY_RULE(int) yy_HtmlBlockOpenDiv(GREG *G); /* 78 */ -YY_RULE(int) yy_HtmlBlockDir(GREG *G); /* 77 */ -YY_RULE(int) yy_HtmlBlockCloseDir(GREG *G); /* 76 */ -YY_RULE(int) yy_HtmlBlockOpenDir(GREG *G); /* 75 */ -YY_RULE(int) yy_HtmlBlockCenter(GREG *G); /* 74 */ -YY_RULE(int) yy_HtmlBlockCloseCenter(GREG *G); /* 73 */ -YY_RULE(int) yy_HtmlBlockOpenCenter(GREG *G); /* 72 */ -YY_RULE(int) yy_HtmlBlockBlockquote(GREG *G); /* 71 */ -YY_RULE(int) yy_HtmlBlockCloseBlockquote(GREG *G); /* 70 */ -YY_RULE(int) yy_HtmlBlockOpenBlockquote(GREG *G); /* 69 */ -YY_RULE(int) yy_HtmlBlockAddress(GREG *G); /* 68 */ -YY_RULE(int) yy_HtmlBlockCloseAddress(GREG *G); /* 67 */ -YY_RULE(int) yy_HtmlAttribute(GREG *G); /* 66 */ -YY_RULE(int) yy_Spnl(GREG *G); /* 65 */ -YY_RULE(int) yy_HtmlBlockOpenAddress(GREG *G); /* 64 */ -YY_RULE(int) yy_OptionallyIndentedLine(GREG *G); /* 63 */ -YY_RULE(int) yy_Indent(GREG *G); /* 62 */ -YY_RULE(int) yy_ListBlockLine(GREG *G); /* 61 */ -YY_RULE(int) yy_ListContinuationBlock(GREG *G); /* 60 */ -YY_RULE(int) yy_ListBlock(GREG *G); /* 59 */ -YY_RULE(int) yy_ListItem(GREG *G); /* 58 */ -YY_RULE(int) yy_Enumerator(GREG *G); /* 57 */ -YY_RULE(int) yy_ListItemTight(GREG *G); /* 56 */ -YY_RULE(int) yy_ListLoose(GREG *G); /* 55 */ -YY_RULE(int) yy_ListTight(GREG *G); /* 54 */ -YY_RULE(int) yy_Bullet(GREG *G); /* 53 */ -YY_RULE(int) yy_Nonspacechar(GREG *G); /* 52 */ -YY_RULE(int) yy_InlineEquationMultiple(GREG *G); /* 51 */ -YY_RULE(int) yy_InlineEquationSingle(GREG *G); /* 50 */ -YY_RULE(int) yy_InlineEquation(GREG *G); /* 49 */ -YY_RULE(int) yy_FormulaNumber(GREG *G); /* 48 */ +YY_RULE(int) yy_RawNoteBlock(GREG *G); /* 255 */ +YY_RULE(int) yy_RawNoteReference(GREG *G); /* 254 */ +YY_RULE(int) yy_ExtendedSpecialChar(GREG *G); /* 253 */ +YY_RULE(int) yy_AlphanumericAscii(GREG *G); /* 252 */ +YY_RULE(int) yy_Quoted(GREG *G); /* 251 */ +YY_RULE(int) yy_HtmlTag(GREG *G); /* 250 */ +YY_RULE(int) yy_MarkTagClose(GREG *G); /* 249 */ +YY_RULE(int) yy_MarkTagText(GREG *G); /* 248 */ +YY_RULE(int) yy_MarkTagOpen(GREG *G); /* 247 */ +YY_RULE(int) yy_Ticks5(GREG *G); /* 246 */ +YY_RULE(int) yy_Ticks4(GREG *G); /* 245 */ +YY_RULE(int) yy_Ticks3(GREG *G); /* 244 */ +YY_RULE(int) yy_Ticks2(GREG *G); /* 243 */ +YY_RULE(int) yy_Ticks1(GREG *G); /* 242 */ +YY_RULE(int) yy_SkipBlock(GREG *G); /* 241 */ +YY_RULE(int) yy_References(GREG *G); /* 240 */ +YY_RULE(int) yy_EmptyTitle(GREG *G); /* 239 */ +YY_RULE(int) yy_RefTitleParens(GREG *G); /* 238 */ +YY_RULE(int) yy_RefTitleDouble(GREG *G); /* 237 */ +YY_RULE(int) yy_RefTitleSingle(GREG *G); /* 236 */ +YY_RULE(int) yy_LabelInline(GREG *G); /* 235 */ +YY_RULE(int) yy_RefTitle(GREG *G); /* 234 */ +YY_RULE(int) yy_RefSrc(GREG *G); /* 233 */ +YY_RULE(int) yy_AutoLinkEmail(GREG *G); /* 232 */ +YY_RULE(int) yy_AutoLinkUrl(GREG *G); /* 231 */ +YY_RULE(int) yy_ImageSizeHeight(GREG *G); /* 230 */ +YY_RULE(int) yy_ImageSizeWidth(GREG *G); /* 229 */ +YY_RULE(int) yy_ImageSizeComplete(GREG *G); /* 228 */ +YY_RULE(int) yy_TitleDoubleExt(GREG *G); /* 227 */ +YY_RULE(int) yy_TitleSingleExt(GREG *G); /* 226 */ +YY_RULE(int) yy_TitleDouble(GREG *G); /* 225 */ +YY_RULE(int) yy_TitleSingle(GREG *G); /* 224 */ +YY_RULE(int) yy_SourceContents(GREG *G); /* 223 */ +YY_RULE(int) yy_ImageSize(GREG *G); /* 222 */ +YY_RULE(int) yy_TitleExt(GREG *G); /* 221 */ +YY_RULE(int) yy_Title(GREG *G); /* 220 */ +YY_RULE(int) yy_Source(GREG *G); /* 219 */ +YY_RULE(int) yy_Label(GREG *G); /* 218 */ +YY_RULE(int) yy_ReferenceLinkSingle(GREG *G); /* 217 */ +YY_RULE(int) yy_ReferenceLinkDouble(GREG *G); /* 216 */ +YY_RULE(int) yy_AutoLink(GREG *G); /* 215 */ +YY_RULE(int) yy_ReferenceLink(GREG *G); /* 214 */ +YY_RULE(int) yy_ExplicitLinkSize(GREG *G); /* 213 */ +YY_RULE(int) yy_ExplicitLink(GREG *G); /* 212 */ +YY_RULE(int) yy_StrongUl(GREG *G); /* 211 */ +YY_RULE(int) yy_StrongStar(GREG *G); /* 210 */ +YY_RULE(int) yy_Whitespace(GREG *G); /* 209 */ +YY_RULE(int) yy_EmphUl(GREG *G); /* 208 */ +YY_RULE(int) yy_EmphStar(GREG *G); /* 207 */ +YY_RULE(int) yy_StarLine(GREG *G); /* 206 */ +YY_RULE(int) yy_UlLine(GREG *G); /* 205 */ +YY_RULE(int) yy_SpecialChar(GREG *G); /* 204 */ +YY_RULE(int) yy_Eof(GREG *G); /* 203 */ +YY_RULE(int) yy_NormalEndline(GREG *G); /* 202 */ +YY_RULE(int) yy_TerminalEndline(GREG *G); /* 201 */ +YY_RULE(int) yy_LineBreak(GREG *G); /* 200 */ +YY_RULE(int) yy_CharEntity(GREG *G); /* 199 */ +YY_RULE(int) yy_DecEntity(GREG *G); /* 198 */ +YY_RULE(int) yy_HexEntity(GREG *G); /* 197 */ +YY_RULE(int) yy_Alphanumeric(GREG *G); /* 196 */ +YY_RULE(int) yy_NormalChar(GREG *G); /* 195 */ +YY_RULE(int) yy_Symbol(GREG *G); /* 194 */ +YY_RULE(int) yy_EscapedChar(GREG *G); /* 193 */ +YY_RULE(int) yy_Entity(GREG *G); /* 192 */ +YY_RULE(int) yy_RawHtml(GREG *G); /* 191 */ +YY_RULE(int) yy_Mark(GREG *G); /* 190 */ +YY_RULE(int) yy_Code(GREG *G); /* 189 */ +YY_RULE(int) yy_InlineNote(GREG *G); /* 188 */ +YY_RULE(int) yy_NoteReference(GREG *G); /* 187 */ +YY_RULE(int) yy_Link(GREG *G); /* 186 */ +YY_RULE(int) yy_Image(GREG *G); /* 185 */ +YY_RULE(int) yy_Strike(GREG *G); /* 184 */ +YY_RULE(int) yy_Emph(GREG *G); /* 183 */ +YY_RULE(int) yy_Strong(GREG *G); /* 182 */ +YY_RULE(int) yy_UlOrStarLine(GREG *G); /* 181 */ +YY_RULE(int) yy_Str(GREG *G); /* 180 */ +YY_RULE(int) yy_InStyleTags(GREG *G); /* 179 */ +YY_RULE(int) yy_StyleClose(GREG *G); /* 178 */ +YY_RULE(int) yy_StyleOpen(GREG *G); /* 177 */ +YY_RULE(int) yy_HtmlBlockType(GREG *G); /* 176 */ +YY_RULE(int) yy_HtmlBlockSelfClosing(GREG *G); /* 175 */ +YY_RULE(int) yy_HtmlComment(GREG *G); /* 174 */ +YY_RULE(int) yy_HtmlBlockInTags(GREG *G); /* 173 */ +YY_RULE(int) yy_HtmlBlockHead(GREG *G); /* 172 */ +YY_RULE(int) yy_HtmlBlockCloseHead(GREG *G); /* 171 */ +YY_RULE(int) yy_HtmlBlockOpenHead(GREG *G); /* 170 */ +YY_RULE(int) yy_HtmlBlockScript(GREG *G); /* 169 */ +YY_RULE(int) yy_HtmlBlockCloseScript(GREG *G); /* 168 */ +YY_RULE(int) yy_HtmlBlockOpenScript(GREG *G); /* 167 */ +YY_RULE(int) yy_HtmlBlockTr(GREG *G); /* 166 */ +YY_RULE(int) yy_HtmlBlockCloseTr(GREG *G); /* 165 */ +YY_RULE(int) yy_HtmlBlockOpenTr(GREG *G); /* 164 */ +YY_RULE(int) yy_HtmlBlockThead(GREG *G); /* 163 */ +YY_RULE(int) yy_HtmlBlockCloseThead(GREG *G); /* 162 */ +YY_RULE(int) yy_HtmlBlockOpenThead(GREG *G); /* 161 */ +YY_RULE(int) yy_HtmlBlockTh(GREG *G); /* 160 */ +YY_RULE(int) yy_HtmlBlockCloseTh(GREG *G); /* 159 */ +YY_RULE(int) yy_HtmlBlockOpenTh(GREG *G); /* 158 */ +YY_RULE(int) yy_HtmlBlockTfoot(GREG *G); /* 157 */ +YY_RULE(int) yy_HtmlBlockCloseTfoot(GREG *G); /* 156 */ +YY_RULE(int) yy_HtmlBlockOpenTfoot(GREG *G); /* 155 */ +YY_RULE(int) yy_HtmlBlockTd(GREG *G); /* 154 */ +YY_RULE(int) yy_HtmlBlockCloseTd(GREG *G); /* 153 */ +YY_RULE(int) yy_HtmlBlockOpenTd(GREG *G); /* 152 */ +YY_RULE(int) yy_HtmlBlockTbody(GREG *G); /* 151 */ +YY_RULE(int) yy_HtmlBlockCloseTbody(GREG *G); /* 150 */ +YY_RULE(int) yy_HtmlBlockOpenTbody(GREG *G); /* 149 */ +YY_RULE(int) yy_HtmlBlockLi(GREG *G); /* 148 */ +YY_RULE(int) yy_HtmlBlockCloseLi(GREG *G); /* 147 */ +YY_RULE(int) yy_HtmlBlockOpenLi(GREG *G); /* 146 */ +YY_RULE(int) yy_HtmlBlockFrameset(GREG *G); /* 145 */ +YY_RULE(int) yy_HtmlBlockCloseFrameset(GREG *G); /* 144 */ +YY_RULE(int) yy_HtmlBlockOpenFrameset(GREG *G); /* 143 */ +YY_RULE(int) yy_HtmlBlockDt(GREG *G); /* 142 */ +YY_RULE(int) yy_HtmlBlockCloseDt(GREG *G); /* 141 */ +YY_RULE(int) yy_HtmlBlockOpenDt(GREG *G); /* 140 */ +YY_RULE(int) yy_HtmlBlockDd(GREG *G); /* 139 */ +YY_RULE(int) yy_HtmlBlockCloseDd(GREG *G); /* 138 */ +YY_RULE(int) yy_HtmlBlockOpenDd(GREG *G); /* 137 */ +YY_RULE(int) yy_HtmlBlockUl(GREG *G); /* 136 */ +YY_RULE(int) yy_HtmlBlockCloseUl(GREG *G); /* 135 */ +YY_RULE(int) yy_HtmlBlockOpenUl(GREG *G); /* 134 */ +YY_RULE(int) yy_HtmlBlockTable(GREG *G); /* 133 */ +YY_RULE(int) yy_HtmlBlockCloseTable(GREG *G); /* 132 */ +YY_RULE(int) yy_HtmlBlockOpenTable(GREG *G); /* 131 */ +YY_RULE(int) yy_HtmlBlockPre(GREG *G); /* 130 */ +YY_RULE(int) yy_HtmlBlockClosePre(GREG *G); /* 129 */ +YY_RULE(int) yy_HtmlBlockOpenPre(GREG *G); /* 128 */ +YY_RULE(int) yy_HtmlBlockP(GREG *G); /* 127 */ +YY_RULE(int) yy_HtmlBlockCloseP(GREG *G); /* 126 */ +YY_RULE(int) yy_HtmlBlockOpenP(GREG *G); /* 125 */ +YY_RULE(int) yy_HtmlBlockOl(GREG *G); /* 124 */ +YY_RULE(int) yy_HtmlBlockCloseOl(GREG *G); /* 123 */ +YY_RULE(int) yy_HtmlBlockOpenOl(GREG *G); /* 122 */ +YY_RULE(int) yy_HtmlBlockNoscript(GREG *G); /* 121 */ +YY_RULE(int) yy_HtmlBlockCloseNoscript(GREG *G); /* 120 */ +YY_RULE(int) yy_HtmlBlockOpenNoscript(GREG *G); /* 119 */ +YY_RULE(int) yy_HtmlBlockNoframes(GREG *G); /* 118 */ +YY_RULE(int) yy_HtmlBlockCloseNoframes(GREG *G); /* 117 */ +YY_RULE(int) yy_HtmlBlockOpenNoframes(GREG *G); /* 116 */ +YY_RULE(int) yy_HtmlBlockMenu(GREG *G); /* 115 */ +YY_RULE(int) yy_HtmlBlockCloseMenu(GREG *G); /* 114 */ +YY_RULE(int) yy_HtmlBlockOpenMenu(GREG *G); /* 113 */ +YY_RULE(int) yy_HtmlBlockH6(GREG *G); /* 112 */ +YY_RULE(int) yy_HtmlBlockCloseH6(GREG *G); /* 111 */ +YY_RULE(int) yy_HtmlBlockOpenH6(GREG *G); /* 110 */ +YY_RULE(int) yy_HtmlBlockH5(GREG *G); /* 109 */ +YY_RULE(int) yy_HtmlBlockCloseH5(GREG *G); /* 108 */ +YY_RULE(int) yy_HtmlBlockOpenH5(GREG *G); /* 107 */ +YY_RULE(int) yy_HtmlBlockH4(GREG *G); /* 106 */ +YY_RULE(int) yy_HtmlBlockCloseH4(GREG *G); /* 105 */ +YY_RULE(int) yy_HtmlBlockOpenH4(GREG *G); /* 104 */ +YY_RULE(int) yy_HtmlBlockH3(GREG *G); /* 103 */ +YY_RULE(int) yy_HtmlBlockCloseH3(GREG *G); /* 102 */ +YY_RULE(int) yy_HtmlBlockOpenH3(GREG *G); /* 101 */ +YY_RULE(int) yy_HtmlBlockH2(GREG *G); /* 100 */ +YY_RULE(int) yy_HtmlBlockCloseH2(GREG *G); /* 99 */ +YY_RULE(int) yy_HtmlBlockOpenH2(GREG *G); /* 98 */ +YY_RULE(int) yy_HtmlBlockH1(GREG *G); /* 97 */ +YY_RULE(int) yy_HtmlBlockCloseH1(GREG *G); /* 96 */ +YY_RULE(int) yy_HtmlBlockOpenH1(GREG *G); /* 95 */ +YY_RULE(int) yy_HtmlBlockForm(GREG *G); /* 94 */ +YY_RULE(int) yy_HtmlBlockCloseForm(GREG *G); /* 93 */ +YY_RULE(int) yy_HtmlBlockOpenForm(GREG *G); /* 92 */ +YY_RULE(int) yy_HtmlBlockFieldset(GREG *G); /* 91 */ +YY_RULE(int) yy_HtmlBlockCloseFieldset(GREG *G); /* 90 */ +YY_RULE(int) yy_HtmlBlockOpenFieldset(GREG *G); /* 89 */ +YY_RULE(int) yy_HtmlBlockDl(GREG *G); /* 88 */ +YY_RULE(int) yy_HtmlBlockCloseDl(GREG *G); /* 87 */ +YY_RULE(int) yy_HtmlBlockOpenDl(GREG *G); /* 86 */ +YY_RULE(int) yy_HtmlBlockDiv(GREG *G); /* 85 */ +YY_RULE(int) yy_HtmlBlockCloseDiv(GREG *G); /* 84 */ +YY_RULE(int) yy_HtmlBlockOpenDiv(GREG *G); /* 83 */ +YY_RULE(int) yy_HtmlBlockDir(GREG *G); /* 82 */ +YY_RULE(int) yy_HtmlBlockCloseDir(GREG *G); /* 81 */ +YY_RULE(int) yy_HtmlBlockOpenDir(GREG *G); /* 80 */ +YY_RULE(int) yy_HtmlBlockCenter(GREG *G); /* 79 */ +YY_RULE(int) yy_HtmlBlockCloseCenter(GREG *G); /* 78 */ +YY_RULE(int) yy_HtmlBlockOpenCenter(GREG *G); /* 77 */ +YY_RULE(int) yy_HtmlBlockBlockquote(GREG *G); /* 76 */ +YY_RULE(int) yy_HtmlBlockCloseBlockquote(GREG *G); /* 75 */ +YY_RULE(int) yy_HtmlBlockOpenBlockquote(GREG *G); /* 74 */ +YY_RULE(int) yy_HtmlBlockAddress(GREG *G); /* 73 */ +YY_RULE(int) yy_HtmlBlockCloseAddress(GREG *G); /* 72 */ +YY_RULE(int) yy_HtmlAttribute(GREG *G); /* 71 */ +YY_RULE(int) yy_HtmlBlockOpenAddress(GREG *G); /* 70 */ +YY_RULE(int) yy_OptionallyIndentedLine(GREG *G); /* 69 */ +YY_RULE(int) yy_Indent(GREG *G); /* 68 */ +YY_RULE(int) yy_ListBlockLine(GREG *G); /* 67 */ +YY_RULE(int) yy_ListContinuationBlock(GREG *G); /* 66 */ +YY_RULE(int) yy_ListBlock(GREG *G); /* 65 */ +YY_RULE(int) yy_ListItem(GREG *G); /* 64 */ +YY_RULE(int) yy_Enumerator(GREG *G); /* 63 */ +YY_RULE(int) yy_ListItemTight(GREG *G); /* 62 */ +YY_RULE(int) yy_ListLoose(GREG *G); /* 61 */ +YY_RULE(int) yy_ListTight(GREG *G); /* 60 */ +YY_RULE(int) yy_Bullet(GREG *G); /* 59 */ +YY_RULE(int) yy_InlineEquationMultiple(GREG *G); /* 58 */ +YY_RULE(int) yy_InlineEquationSingle(GREG *G); /* 57 */ +YY_RULE(int) yy_InlineEquation(GREG *G); /* 56 */ +YY_RULE(int) yy_Nonspacechar(GREG *G); /* 55 */ +YY_RULE(int) yy_DisplayFormulaRawMark(GREG *G); /* 54 */ +YY_RULE(int) yy_DisplayFormulaRawEnd(GREG *G); /* 53 */ +YY_RULE(int) yy_Spnl(GREG *G); /* 52 */ +YY_RULE(int) yy_DisplayFormulaRawStart(GREG *G); /* 51 */ +YY_RULE(int) yy_FormulaNumber(GREG *G); /* 50 */ +YY_RULE(int) yy_DisplayFormulaRaw(GREG *G); /* 49 */ +YY_RULE(int) yy_DisplayFormulaDollar(GREG *G); /* 48 */ YY_RULE(int) yy_Spacechar(GREG *G); /* 47 */ YY_RULE(int) yy_FencedCodeBlockEnd(GREG *G); /* 46 */ YY_RULE(int) yy_FencedCodeBlockChunk(GREG *G); /* 45 */ @@ -2088,9 +2119,14 @@ YY_ACTION(void) yy_1_InlineEquation(GREG *G, char *yytext, int yyleng, yythunk * yyprintf((stderr, "do yy_1_InlineEquation\n")); ADD(elem(pmh_INLINEEQUATION)); ; } -YY_ACTION(void) yy_1_DisplayFormula(GREG *G, char *yytext, int yyleng, yythunk *thunk, YY_XTYPE YY_XVAR) +YY_ACTION(void) yy_1_DisplayFormulaRaw(GREG *G, char *yytext, int yyleng, yythunk *thunk, YY_XTYPE YY_XVAR) { - yyprintf((stderr, "do yy_1_DisplayFormula\n")); + yyprintf((stderr, "do yy_1_DisplayFormulaRaw\n")); + ADD(elem(pmh_DISPLAYFORMULA)); ; +} +YY_ACTION(void) yy_1_DisplayFormulaDollar(GREG *G, char *yytext, int yyleng, yythunk *thunk, YY_XTYPE YY_XVAR) +{ + yyprintf((stderr, "do yy_1_DisplayFormulaDollar\n")); ADD(elem(pmh_DISPLAYFORMULA)); ; } YY_ACTION(void) yy_1_FencedCodeBlock(GREG *G, char *yytext, int yyleng, yythunk *thunk, YY_XTYPE YY_XVAR) @@ -5874,728 +5910,822 @@ YY_RULE(int) yy_HtmlAttribute(GREG *G) yyprintf((stderr, " fail %s @ %s\n", "HtmlAttribute", G->buf+G->pos)); return 0; } -YY_RULE(int) yy_Spnl(GREG *G) -{ int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Spnl")); if (!yy_Sp(G)) { goto l1257; } - { int yypos1258= G->pos, yythunkpos1258= G->thunkpos; if (!yy_Newline(G)) { goto l1258; } if (!yy_Sp(G)) { goto l1258; } goto l1259; - l1258:; G->pos= yypos1258; G->thunkpos= yythunkpos1258; - } - l1259:; - yyprintf((stderr, " ok %s @ %s\n", "Spnl", G->buf+G->pos)); - return 1; - l1257:; G->pos= yypos0; G->thunkpos= yythunkpos0; - yyprintf((stderr, " fail %s @ %s\n", "Spnl", G->buf+G->pos)); - return 0; -} YY_RULE(int) yy_HtmlBlockOpenAddress(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "HtmlBlockOpenAddress")); if (!yymatchChar(G, '<')) goto l1260; if (!yy_Spnl(G)) { goto l1260; } - { int yypos1261= G->pos, yythunkpos1261= G->thunkpos; if (!yymatchString(G, "address")) goto l1262; goto l1261; - l1262:; G->pos= yypos1261; G->thunkpos= yythunkpos1261; if (!yymatchString(G, "ADDRESS")) goto l1260; + yyprintf((stderr, "%s\n", "HtmlBlockOpenAddress")); if (!yymatchChar(G, '<')) goto l1257; if (!yy_Spnl(G)) { goto l1257; } + { int yypos1258= G->pos, yythunkpos1258= G->thunkpos; if (!yymatchString(G, "address")) goto l1259; goto l1258; + l1259:; G->pos= yypos1258; G->thunkpos= yythunkpos1258; if (!yymatchString(G, "ADDRESS")) goto l1257; } - l1261:; if (!yy_Spnl(G)) { goto l1260; } - l1263:; - { int yypos1264= G->pos, yythunkpos1264= G->thunkpos; if (!yy_HtmlAttribute(G)) { goto l1264; } goto l1263; - l1264:; G->pos= yypos1264; G->thunkpos= yythunkpos1264; - } if (!yymatchChar(G, '>')) goto l1260; + l1258:; if (!yy_Spnl(G)) { goto l1257; } + l1260:; + { int yypos1261= G->pos, yythunkpos1261= G->thunkpos; if (!yy_HtmlAttribute(G)) { goto l1261; } goto l1260; + l1261:; G->pos= yypos1261; G->thunkpos= yythunkpos1261; + } if (!yymatchChar(G, '>')) goto l1257; yyprintf((stderr, " ok %s @ %s\n", "HtmlBlockOpenAddress", G->buf+G->pos)); return 1; - l1260:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1257:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlockOpenAddress", G->buf+G->pos)); return 0; } YY_RULE(int) yy_OptionallyIndentedLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "OptionallyIndentedLine")); - { int yypos1266= G->pos, yythunkpos1266= G->thunkpos; if (!yy_Indent(G)) { goto l1266; } goto l1267; - l1266:; G->pos= yypos1266; G->thunkpos= yythunkpos1266; + { int yypos1263= G->pos, yythunkpos1263= G->thunkpos; if (!yy_Indent(G)) { goto l1263; } goto l1264; + l1263:; G->pos= yypos1263; G->thunkpos= yythunkpos1263; } - l1267:; if (!yy_Line(G)) { goto l1265; } + l1264:; if (!yy_Line(G)) { goto l1262; } yyprintf((stderr, " ok %s @ %s\n", "OptionallyIndentedLine", G->buf+G->pos)); return 1; - l1265:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1262:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "OptionallyIndentedLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Indent(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Indent")); - { int yypos1269= G->pos, yythunkpos1269= G->thunkpos; if (!yymatchChar(G, '\t')) goto l1270; goto l1269; - l1270:; G->pos= yypos1269; G->thunkpos= yythunkpos1269; if (!yymatchString(G, " ")) goto l1268; + { int yypos1266= G->pos, yythunkpos1266= G->thunkpos; if (!yymatchChar(G, '\t')) goto l1267; goto l1266; + l1267:; G->pos= yypos1266; G->thunkpos= yythunkpos1266; if (!yymatchString(G, " ")) goto l1265; } - l1269:; + l1266:; yyprintf((stderr, " ok %s @ %s\n", "Indent", G->buf+G->pos)); return 1; - l1268:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1265:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Indent", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListBlockLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "ListBlockLine")); - { int yypos1272= G->pos, yythunkpos1272= G->thunkpos; if (!yy_BlankLine(G)) { goto l1272; } goto l1271; - l1272:; G->pos= yypos1272; G->thunkpos= yythunkpos1272; + { int yypos1269= G->pos, yythunkpos1269= G->thunkpos; if (!yy_BlankLine(G)) { goto l1269; } goto l1268; + l1269:; G->pos= yypos1269; G->thunkpos= yythunkpos1269; } - { int yypos1273= G->pos, yythunkpos1273= G->thunkpos; - { int yypos1274= G->pos, yythunkpos1274= G->thunkpos; if (!yy_Indent(G)) { goto l1274; } goto l1275; - l1274:; G->pos= yypos1274; G->thunkpos= yythunkpos1274; + { int yypos1270= G->pos, yythunkpos1270= G->thunkpos; + { int yypos1271= G->pos, yythunkpos1271= G->thunkpos; if (!yy_Indent(G)) { goto l1271; } goto l1272; + l1271:; G->pos= yypos1271; G->thunkpos= yythunkpos1271; } - l1275:; - { int yypos1276= G->pos, yythunkpos1276= G->thunkpos; if (!yy_Bullet(G)) { goto l1277; } goto l1276; - l1277:; G->pos= yypos1276; G->thunkpos= yythunkpos1276; if (!yy_Enumerator(G)) { goto l1273; } + l1272:; + { int yypos1273= G->pos, yythunkpos1273= G->thunkpos; if (!yy_Bullet(G)) { goto l1274; } goto l1273; + l1274:; G->pos= yypos1273; G->thunkpos= yythunkpos1273; if (!yy_Enumerator(G)) { goto l1270; } } - l1276:; goto l1271; - l1273:; G->pos= yypos1273; G->thunkpos= yythunkpos1273; + l1273:; goto l1268; + l1270:; G->pos= yypos1270; G->thunkpos= yythunkpos1270; } - { int yypos1278= G->pos, yythunkpos1278= G->thunkpos; if (!yy_HorizontalRule(G)) { goto l1278; } goto l1271; - l1278:; G->pos= yypos1278; G->thunkpos= yythunkpos1278; - } if (!yy_OptionallyIndentedLine(G)) { goto l1271; } + { int yypos1275= G->pos, yythunkpos1275= G->thunkpos; if (!yy_HorizontalRule(G)) { goto l1275; } goto l1268; + l1275:; G->pos= yypos1275; G->thunkpos= yythunkpos1275; + } if (!yy_OptionallyIndentedLine(G)) { goto l1268; } yyprintf((stderr, " ok %s @ %s\n", "ListBlockLine", G->buf+G->pos)); return 1; - l1271:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1268:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListBlockLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListContinuationBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "ListContinuationBlock")); if (!yy_StartList(G)) { goto l1279; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1279; - l1280:; - { int yypos1281= G->pos, yythunkpos1281= G->thunkpos; if (!yy_BlankLine(G)) { goto l1281; } goto l1280; - l1281:; G->pos= yypos1281; G->thunkpos= yythunkpos1281; - } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1279; yyDo(G, yy_1_ListContinuationBlock, G->begin, G->end); if (!yy_Indent(G)) { goto l1279; } if (!yy_ListBlock(G)) { goto l1279; } yyDo(G, yy_2_ListContinuationBlock, G->begin, G->end); - l1282:; - { int yypos1283= G->pos, yythunkpos1283= G->thunkpos; if (!yy_Indent(G)) { goto l1283; } if (!yy_ListBlock(G)) { goto l1283; } yyDo(G, yy_2_ListContinuationBlock, G->begin, G->end); goto l1282; - l1283:; G->pos= yypos1283; G->thunkpos= yythunkpos1283; + yyprintf((stderr, "%s\n", "ListContinuationBlock")); if (!yy_StartList(G)) { goto l1276; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1276; + l1277:; + { int yypos1278= G->pos, yythunkpos1278= G->thunkpos; if (!yy_BlankLine(G)) { goto l1278; } goto l1277; + l1278:; G->pos= yypos1278; G->thunkpos= yythunkpos1278; + } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1276; yyDo(G, yy_1_ListContinuationBlock, G->begin, G->end); if (!yy_Indent(G)) { goto l1276; } if (!yy_ListBlock(G)) { goto l1276; } yyDo(G, yy_2_ListContinuationBlock, G->begin, G->end); + l1279:; + { int yypos1280= G->pos, yythunkpos1280= G->thunkpos; if (!yy_Indent(G)) { goto l1280; } if (!yy_ListBlock(G)) { goto l1280; } yyDo(G, yy_2_ListContinuationBlock, G->begin, G->end); goto l1279; + l1280:; G->pos= yypos1280; G->thunkpos= yythunkpos1280; } yyDo(G, yy_3_ListContinuationBlock, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListContinuationBlock", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1279:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1276:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListContinuationBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "ListBlock")); if (!yy_StartList(G)) { goto l1284; } yyDo(G, yySet, -1, 0); - { int yypos1285= G->pos, yythunkpos1285= G->thunkpos; if (!yy_BlankLine(G)) { goto l1285; } goto l1284; - l1285:; G->pos= yypos1285; G->thunkpos= yythunkpos1285; - } if (!yy_Line(G)) { goto l1284; } yyDo(G, yy_1_ListBlock, G->begin, G->end); - l1286:; - { int yypos1287= G->pos, yythunkpos1287= G->thunkpos; if (!yy_ListBlockLine(G)) { goto l1287; } yyDo(G, yy_2_ListBlock, G->begin, G->end); goto l1286; - l1287:; G->pos= yypos1287; G->thunkpos= yythunkpos1287; + yyprintf((stderr, "%s\n", "ListBlock")); if (!yy_StartList(G)) { goto l1281; } yyDo(G, yySet, -1, 0); + { int yypos1282= G->pos, yythunkpos1282= G->thunkpos; if (!yy_BlankLine(G)) { goto l1282; } goto l1281; + l1282:; G->pos= yypos1282; G->thunkpos= yythunkpos1282; + } if (!yy_Line(G)) { goto l1281; } yyDo(G, yy_1_ListBlock, G->begin, G->end); + l1283:; + { int yypos1284= G->pos, yythunkpos1284= G->thunkpos; if (!yy_ListBlockLine(G)) { goto l1284; } yyDo(G, yy_2_ListBlock, G->begin, G->end); goto l1283; + l1284:; G->pos= yypos1284; G->thunkpos= yythunkpos1284; } yyDo(G, yy_3_ListBlock, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListBlock", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1284:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1281:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListItem(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListItem")); - { int yypos1289= G->pos, yythunkpos1289= G->thunkpos; if (!yy_Bullet(G)) { goto l1290; } goto l1289; - l1290:; G->pos= yypos1289; G->thunkpos= yythunkpos1289; if (!yy_Enumerator(G)) { goto l1288; } + { int yypos1286= G->pos, yythunkpos1286= G->thunkpos; if (!yy_Bullet(G)) { goto l1287; } goto l1286; + l1287:; G->pos= yypos1286; G->thunkpos= yythunkpos1286; if (!yy_Enumerator(G)) { goto l1285; } } - l1289:; if (!yy_StartList(G)) { goto l1288; } yyDo(G, yySet, -1, 0); if (!yy_ListBlock(G)) { goto l1288; } yyDo(G, yy_1_ListItem, G->begin, G->end); - l1291:; - { int yypos1292= G->pos, yythunkpos1292= G->thunkpos; if (!yy_ListContinuationBlock(G)) { goto l1292; } yyDo(G, yy_2_ListItem, G->begin, G->end); goto l1291; - l1292:; G->pos= yypos1292; G->thunkpos= yythunkpos1292; + l1286:; if (!yy_StartList(G)) { goto l1285; } yyDo(G, yySet, -1, 0); if (!yy_ListBlock(G)) { goto l1285; } yyDo(G, yy_1_ListItem, G->begin, G->end); + l1288:; + { int yypos1289= G->pos, yythunkpos1289= G->thunkpos; if (!yy_ListContinuationBlock(G)) { goto l1289; } yyDo(G, yy_2_ListItem, G->begin, G->end); goto l1288; + l1289:; G->pos= yypos1289; G->thunkpos= yythunkpos1289; } yyDo(G, yy_3_ListItem, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListItem", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1288:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1285:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListItem", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Enumerator(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Enumerator")); if (!yy_NonindentSpace(G)) { goto l1293; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1293; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1293; - l1294:; - { int yypos1295= G->pos, yythunkpos1295= G->thunkpos; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1295; goto l1294; - l1295:; G->pos= yypos1295; G->thunkpos= yythunkpos1295; - } if (!yymatchChar(G, '.')) goto l1293; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1293; if (!yy_Spacechar(G)) { goto l1293; } - l1296:; - { int yypos1297= G->pos, yythunkpos1297= G->thunkpos; if (!yy_Spacechar(G)) { goto l1297; } goto l1296; - l1297:; G->pos= yypos1297; G->thunkpos= yythunkpos1297; + yyprintf((stderr, "%s\n", "Enumerator")); if (!yy_NonindentSpace(G)) { goto l1290; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1290; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1290; + l1291:; + { int yypos1292= G->pos, yythunkpos1292= G->thunkpos; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1292; goto l1291; + l1292:; G->pos= yypos1292; G->thunkpos= yythunkpos1292; + } if (!yymatchChar(G, '.')) goto l1290; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1290; if (!yy_Spacechar(G)) { goto l1290; } + l1293:; + { int yypos1294= G->pos, yythunkpos1294= G->thunkpos; if (!yy_Spacechar(G)) { goto l1294; } goto l1293; + l1294:; G->pos= yypos1294; G->thunkpos= yythunkpos1294; } yyDo(G, yy_1_Enumerator, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Enumerator", G->buf+G->pos)); return 1; - l1293:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1290:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Enumerator", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListItemTight(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); yyprintf((stderr, "%s\n", "ListItemTight")); - { int yypos1299= G->pos, yythunkpos1299= G->thunkpos; if (!yy_Bullet(G)) { goto l1300; } goto l1299; - l1300:; G->pos= yypos1299; G->thunkpos= yythunkpos1299; if (!yy_Enumerator(G)) { goto l1298; } + { int yypos1296= G->pos, yythunkpos1296= G->thunkpos; if (!yy_Bullet(G)) { goto l1297; } goto l1296; + l1297:; G->pos= yypos1296; G->thunkpos= yythunkpos1296; if (!yy_Enumerator(G)) { goto l1295; } } - l1299:; if (!yy_StartList(G)) { goto l1298; } yyDo(G, yySet, -1, 0); if (!yy_ListBlock(G)) { goto l1298; } yyDo(G, yy_1_ListItemTight, G->begin, G->end); - l1301:; - { int yypos1302= G->pos, yythunkpos1302= G->thunkpos; - { int yypos1303= G->pos, yythunkpos1303= G->thunkpos; if (!yy_BlankLine(G)) { goto l1303; } goto l1302; - l1303:; G->pos= yypos1303; G->thunkpos= yythunkpos1303; - } if (!yy_ListContinuationBlock(G)) { goto l1302; } yyDo(G, yy_2_ListItemTight, G->begin, G->end); goto l1301; - l1302:; G->pos= yypos1302; G->thunkpos= yythunkpos1302; + l1296:; if (!yy_StartList(G)) { goto l1295; } yyDo(G, yySet, -1, 0); if (!yy_ListBlock(G)) { goto l1295; } yyDo(G, yy_1_ListItemTight, G->begin, G->end); + l1298:; + { int yypos1299= G->pos, yythunkpos1299= G->thunkpos; + { int yypos1300= G->pos, yythunkpos1300= G->thunkpos; if (!yy_BlankLine(G)) { goto l1300; } goto l1299; + l1300:; G->pos= yypos1300; G->thunkpos= yythunkpos1300; + } if (!yy_ListContinuationBlock(G)) { goto l1299; } yyDo(G, yy_2_ListItemTight, G->begin, G->end); goto l1298; + l1299:; G->pos= yypos1299; G->thunkpos= yythunkpos1299; } - { int yypos1304= G->pos, yythunkpos1304= G->thunkpos; if (!yy_ListContinuationBlock(G)) { goto l1304; } goto l1298; - l1304:; G->pos= yypos1304; G->thunkpos= yythunkpos1304; + { int yypos1301= G->pos, yythunkpos1301= G->thunkpos; if (!yy_ListContinuationBlock(G)) { goto l1301; } goto l1295; + l1301:; G->pos= yypos1301; G->thunkpos= yythunkpos1301; } yyDo(G, yy_3_ListItemTight, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListItemTight", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1298:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1295:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListItemTight", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListLoose(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 2, 0); - yyprintf((stderr, "%s\n", "ListLoose")); if (!yy_StartList(G)) { goto l1305; } yyDo(G, yySet, -2, 0); if (!yy_ListItem(G)) { goto l1305; } yyDo(G, yySet, -1, 0); - l1308:; - { int yypos1309= G->pos, yythunkpos1309= G->thunkpos; if (!yy_BlankLine(G)) { goto l1309; } goto l1308; - l1309:; G->pos= yypos1309; G->thunkpos= yythunkpos1309; + yyprintf((stderr, "%s\n", "ListLoose")); if (!yy_StartList(G)) { goto l1302; } yyDo(G, yySet, -2, 0); if (!yy_ListItem(G)) { goto l1302; } yyDo(G, yySet, -1, 0); + l1305:; + { int yypos1306= G->pos, yythunkpos1306= G->thunkpos; if (!yy_BlankLine(G)) { goto l1306; } goto l1305; + l1306:; G->pos= yypos1306; G->thunkpos= yythunkpos1306; } yyDo(G, yy_1_ListLoose, G->begin, G->end); - l1306:; - { int yypos1307= G->pos, yythunkpos1307= G->thunkpos; if (!yy_ListItem(G)) { goto l1307; } yyDo(G, yySet, -1, 0); - l1310:; - { int yypos1311= G->pos, yythunkpos1311= G->thunkpos; if (!yy_BlankLine(G)) { goto l1311; } goto l1310; - l1311:; G->pos= yypos1311; G->thunkpos= yythunkpos1311; - } yyDo(G, yy_1_ListLoose, G->begin, G->end); goto l1306; - l1307:; G->pos= yypos1307; G->thunkpos= yythunkpos1307; + l1303:; + { int yypos1304= G->pos, yythunkpos1304= G->thunkpos; if (!yy_ListItem(G)) { goto l1304; } yyDo(G, yySet, -1, 0); + l1307:; + { int yypos1308= G->pos, yythunkpos1308= G->thunkpos; if (!yy_BlankLine(G)) { goto l1308; } goto l1307; + l1308:; G->pos= yypos1308; G->thunkpos= yythunkpos1308; + } yyDo(G, yy_1_ListLoose, G->begin, G->end); goto l1303; + l1304:; G->pos= yypos1304; G->thunkpos= yythunkpos1304; } yyDo(G, yy_2_ListLoose, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListLoose", G->buf+G->pos)); yyDo(G, yyPop, 2, 0); return 1; - l1305:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1302:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListLoose", G->buf+G->pos)); return 0; } YY_RULE(int) yy_ListTight(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "ListTight")); if (!yy_StartList(G)) { goto l1312; } yyDo(G, yySet, -1, 0); if (!yy_ListItemTight(G)) { goto l1312; } yyDo(G, yy_1_ListTight, G->begin, G->end); - l1313:; - { int yypos1314= G->pos, yythunkpos1314= G->thunkpos; if (!yy_ListItemTight(G)) { goto l1314; } yyDo(G, yy_1_ListTight, G->begin, G->end); goto l1313; + yyprintf((stderr, "%s\n", "ListTight")); if (!yy_StartList(G)) { goto l1309; } yyDo(G, yySet, -1, 0); if (!yy_ListItemTight(G)) { goto l1309; } yyDo(G, yy_1_ListTight, G->begin, G->end); + l1310:; + { int yypos1311= G->pos, yythunkpos1311= G->thunkpos; if (!yy_ListItemTight(G)) { goto l1311; } yyDo(G, yy_1_ListTight, G->begin, G->end); goto l1310; + l1311:; G->pos= yypos1311; G->thunkpos= yythunkpos1311; + } + l1312:; + { int yypos1313= G->pos, yythunkpos1313= G->thunkpos; if (!yy_BlankLine(G)) { goto l1313; } goto l1312; + l1313:; G->pos= yypos1313; G->thunkpos= yythunkpos1313; + } + { int yypos1314= G->pos, yythunkpos1314= G->thunkpos; + { int yypos1315= G->pos, yythunkpos1315= G->thunkpos; if (!yy_Bullet(G)) { goto l1316; } goto l1315; + l1316:; G->pos= yypos1315; G->thunkpos= yythunkpos1315; if (!yy_Enumerator(G)) { goto l1314; } + } + l1315:; goto l1309; l1314:; G->pos= yypos1314; G->thunkpos= yythunkpos1314; - } - l1315:; - { int yypos1316= G->pos, yythunkpos1316= G->thunkpos; if (!yy_BlankLine(G)) { goto l1316; } goto l1315; - l1316:; G->pos= yypos1316; G->thunkpos= yythunkpos1316; - } - { int yypos1317= G->pos, yythunkpos1317= G->thunkpos; - { int yypos1318= G->pos, yythunkpos1318= G->thunkpos; if (!yy_Bullet(G)) { goto l1319; } goto l1318; - l1319:; G->pos= yypos1318; G->thunkpos= yythunkpos1318; if (!yy_Enumerator(G)) { goto l1317; } - } - l1318:; goto l1312; - l1317:; G->pos= yypos1317; G->thunkpos= yythunkpos1317; } yyDo(G, yy_2_ListTight, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "ListTight", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1312:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1309:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "ListTight", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Bullet(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Bullet")); - { int yypos1321= G->pos, yythunkpos1321= G->thunkpos; if (!yy_HorizontalRule(G)) { goto l1321; } goto l1320; - l1321:; G->pos= yypos1321; G->thunkpos= yythunkpos1321; - } if (!yy_NonindentSpace(G)) { goto l1320; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1320; - { int yypos1322= G->pos, yythunkpos1322= G->thunkpos; if (!yymatchChar(G, '+')) goto l1323; goto l1322; - l1323:; G->pos= yypos1322; G->thunkpos= yythunkpos1322; if (!yymatchChar(G, '*')) goto l1324; goto l1322; - l1324:; G->pos= yypos1322; G->thunkpos= yythunkpos1322; if (!yymatchChar(G, '-')) goto l1320; + { int yypos1318= G->pos, yythunkpos1318= G->thunkpos; if (!yy_HorizontalRule(G)) { goto l1318; } goto l1317; + l1318:; G->pos= yypos1318; G->thunkpos= yythunkpos1318; + } if (!yy_NonindentSpace(G)) { goto l1317; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1317; + { int yypos1319= G->pos, yythunkpos1319= G->thunkpos; if (!yymatchChar(G, '+')) goto l1320; goto l1319; + l1320:; G->pos= yypos1319; G->thunkpos= yythunkpos1319; if (!yymatchChar(G, '*')) goto l1321; goto l1319; + l1321:; G->pos= yypos1319; G->thunkpos= yythunkpos1319; if (!yymatchChar(G, '-')) goto l1317; } - l1322:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1320; if (!yy_Spacechar(G)) { goto l1320; } - l1325:; - { int yypos1326= G->pos, yythunkpos1326= G->thunkpos; if (!yy_Spacechar(G)) { goto l1326; } goto l1325; - l1326:; G->pos= yypos1326; G->thunkpos= yythunkpos1326; + l1319:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1317; if (!yy_Spacechar(G)) { goto l1317; } + l1322:; + { int yypos1323= G->pos, yythunkpos1323= G->thunkpos; if (!yy_Spacechar(G)) { goto l1323; } goto l1322; + l1323:; G->pos= yypos1323; G->thunkpos= yythunkpos1323; } yyDo(G, yy_1_Bullet, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Bullet", G->buf+G->pos)); return 1; - l1320:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1317:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Bullet", G->buf+G->pos)); return 0; } -YY_RULE(int) yy_Nonspacechar(GREG *G) -{ int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Nonspacechar")); - { int yypos1328= G->pos, yythunkpos1328= G->thunkpos; if (!yy_Spacechar(G)) { goto l1328; } goto l1327; - l1328:; G->pos= yypos1328; G->thunkpos= yythunkpos1328; - } - { int yypos1329= G->pos, yythunkpos1329= G->thunkpos; if (!yy_Newline(G)) { goto l1329; } goto l1327; - l1329:; G->pos= yypos1329; G->thunkpos= yythunkpos1329; - } if (!yymatchDot(G)) goto l1327; - yyprintf((stderr, " ok %s @ %s\n", "Nonspacechar", G->buf+G->pos)); - return 1; - l1327:; G->pos= yypos0; G->thunkpos= yythunkpos0; - yyprintf((stderr, " fail %s @ %s\n", "Nonspacechar", G->buf+G->pos)); - return 0; -} YY_RULE(int) yy_InlineEquationMultiple(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "InlineEquationMultiple")); - { int yypos1331= G->pos, yythunkpos1331= G->thunkpos; if (!yymatchChar(G, '$')) goto l1331; goto l1330; + { int yypos1325= G->pos, yythunkpos1325= G->thunkpos; if (!yymatchChar(G, '$')) goto l1325; goto l1324; + l1325:; G->pos= yypos1325; G->thunkpos= yythunkpos1325; + } if (!yy_Nonspacechar(G)) { goto l1324; } + { int yypos1328= G->pos, yythunkpos1328= G->thunkpos; if (!yymatchChar(G, '$')) goto l1328; goto l1324; + l1328:; G->pos= yypos1328; G->thunkpos= yythunkpos1328; + } + { int yypos1329= G->pos, yythunkpos1329= G->thunkpos; if (!yy_Newline(G)) { goto l1329; } goto l1324; + l1329:; G->pos= yypos1329; G->thunkpos= yythunkpos1329; + } if (!yymatchDot(G)) goto l1324; + l1326:; + { int yypos1327= G->pos, yythunkpos1327= G->thunkpos; + { int yypos1330= G->pos, yythunkpos1330= G->thunkpos; if (!yymatchChar(G, '$')) goto l1330; goto l1327; + l1330:; G->pos= yypos1330; G->thunkpos= yythunkpos1330; + } + { int yypos1331= G->pos, yythunkpos1331= G->thunkpos; if (!yy_Newline(G)) { goto l1331; } goto l1327; l1331:; G->pos= yypos1331; G->thunkpos= yythunkpos1331; - } if (!yy_Nonspacechar(G)) { goto l1330; } - { int yypos1334= G->pos, yythunkpos1334= G->thunkpos; if (!yymatchChar(G, '$')) goto l1334; goto l1330; - l1334:; G->pos= yypos1334; G->thunkpos= yythunkpos1334; - } - { int yypos1335= G->pos, yythunkpos1335= G->thunkpos; if (!yy_Newline(G)) { goto l1335; } goto l1330; - l1335:; G->pos= yypos1335; G->thunkpos= yythunkpos1335; - } if (!yymatchDot(G)) goto l1330; - l1332:; - { int yypos1333= G->pos, yythunkpos1333= G->thunkpos; - { int yypos1336= G->pos, yythunkpos1336= G->thunkpos; if (!yymatchChar(G, '$')) goto l1336; goto l1333; - l1336:; G->pos= yypos1336; G->thunkpos= yythunkpos1336; - } - { int yypos1337= G->pos, yythunkpos1337= G->thunkpos; if (!yy_Newline(G)) { goto l1337; } goto l1333; - l1337:; G->pos= yypos1337; G->thunkpos= yythunkpos1337; - } if (!yymatchDot(G)) goto l1333; goto l1332; - l1333:; G->pos= yypos1333; G->thunkpos= yythunkpos1333; - } if (!yymatchChar(G, '$')) goto l1330; yyText(G, G->begin, G->end); if (!( IEP_POST )) goto l1330; + } if (!yymatchDot(G)) goto l1327; goto l1326; + l1327:; G->pos= yypos1327; G->thunkpos= yythunkpos1327; + } if (!yymatchChar(G, '$')) goto l1324; yyText(G, G->begin, G->end); if (!( IEP_POST )) goto l1324; yyprintf((stderr, " ok %s @ %s\n", "InlineEquationMultiple", G->buf+G->pos)); return 1; - l1330:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1324:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "InlineEquationMultiple", G->buf+G->pos)); return 0; } YY_RULE(int) yy_InlineEquationSingle(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "InlineEquationSingle")); - { int yypos1339= G->pos, yythunkpos1339= G->thunkpos; if (!yymatchChar(G, '$')) goto l1339; goto l1338; - l1339:; G->pos= yypos1339; G->thunkpos= yythunkpos1339; + { int yypos1333= G->pos, yythunkpos1333= G->thunkpos; if (!yymatchChar(G, '$')) goto l1333; goto l1332; + l1333:; G->pos= yypos1333; G->thunkpos= yythunkpos1333; } - { int yypos1340= G->pos, yythunkpos1340= G->thunkpos; if (!yymatchChar(G, '\\')) goto l1340; goto l1338; - l1340:; G->pos= yypos1340; G->thunkpos= yythunkpos1340; - } if (!yy_Nonspacechar(G)) { goto l1338; } if (!yymatchChar(G, '$')) goto l1338; + { int yypos1334= G->pos, yythunkpos1334= G->thunkpos; if (!yymatchChar(G, '\\')) goto l1334; goto l1332; + l1334:; G->pos= yypos1334; G->thunkpos= yythunkpos1334; + } if (!yy_Nonspacechar(G)) { goto l1332; } if (!yymatchChar(G, '$')) goto l1332; yyprintf((stderr, " ok %s @ %s\n", "InlineEquationSingle", G->buf+G->pos)); return 1; - l1338:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1332:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "InlineEquationSingle", G->buf+G->pos)); return 0; } YY_RULE(int) yy_InlineEquation(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "InlineEquation")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_MATH) )) goto l1341; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1341; if (!yymatchChar(G, '$')) goto l1341; yyText(G, G->begin, G->end); if (!( IEP_PRE )) goto l1341; - { int yypos1342= G->pos, yythunkpos1342= G->thunkpos; if (!yy_InlineEquationSingle(G)) { goto l1343; } goto l1342; - l1343:; G->pos= yypos1342; G->thunkpos= yythunkpos1342; if (!yy_InlineEquationMultiple(G)) { goto l1341; } + yyprintf((stderr, "%s\n", "InlineEquation")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_MATH) )) goto l1335; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1335; if (!yymatchChar(G, '$')) goto l1335; yyText(G, G->begin, G->end); if (!( IEP_PRE )) goto l1335; + { int yypos1336= G->pos, yythunkpos1336= G->thunkpos; if (!yy_InlineEquationSingle(G)) { goto l1337; } goto l1336; + l1337:; G->pos= yypos1336; G->thunkpos= yythunkpos1336; if (!yy_InlineEquationMultiple(G)) { goto l1335; } } - l1342:; - { int yypos1344= G->pos, yythunkpos1344= G->thunkpos; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1344; goto l1341; - l1344:; G->pos= yypos1344; G->thunkpos= yythunkpos1344; - } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1341; yyDo(G, yy_1_InlineEquation, G->begin, G->end); + l1336:; + { int yypos1338= G->pos, yythunkpos1338= G->thunkpos; if (!yymatchClass(G, (unsigned char *)"\000\000\000\000\000\000\377\003\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000\000")) goto l1338; goto l1335; + l1338:; G->pos= yypos1338; G->thunkpos= yythunkpos1338; + } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1335; yyDo(G, yy_1_InlineEquation, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "InlineEquation", G->buf+G->pos)); return 1; - l1341:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1335:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "InlineEquation", G->buf+G->pos)); return 0; } +YY_RULE(int) yy_Nonspacechar(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "Nonspacechar")); + { int yypos1340= G->pos, yythunkpos1340= G->thunkpos; if (!yy_Spacechar(G)) { goto l1340; } goto l1339; + l1340:; G->pos= yypos1340; G->thunkpos= yythunkpos1340; + } + { int yypos1341= G->pos, yythunkpos1341= G->thunkpos; if (!yy_Newline(G)) { goto l1341; } goto l1339; + l1341:; G->pos= yypos1341; G->thunkpos= yythunkpos1341; + } if (!yymatchDot(G)) goto l1339; + yyprintf((stderr, " ok %s @ %s\n", "Nonspacechar", G->buf+G->pos)); + return 1; + l1339:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "Nonspacechar", G->buf+G->pos)); + return 0; +} +YY_RULE(int) yy_DisplayFormulaRawMark(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "DisplayFormulaRawMark")); + { int yypos1345= G->pos, yythunkpos1345= G->thunkpos; if (!yymatchChar(G, '{')) goto l1345; goto l1342; + l1345:; G->pos= yypos1345; G->thunkpos= yythunkpos1345; + } + { int yypos1346= G->pos, yythunkpos1346= G->thunkpos; if (!yymatchChar(G, '}')) goto l1346; goto l1342; + l1346:; G->pos= yypos1346; G->thunkpos= yythunkpos1346; + } if (!yy_Nonspacechar(G)) { goto l1342; } + l1343:; + { int yypos1344= G->pos, yythunkpos1344= G->thunkpos; + { int yypos1347= G->pos, yythunkpos1347= G->thunkpos; if (!yymatchChar(G, '{')) goto l1347; goto l1344; + l1347:; G->pos= yypos1347; G->thunkpos= yythunkpos1347; + } + { int yypos1348= G->pos, yythunkpos1348= G->thunkpos; if (!yymatchChar(G, '}')) goto l1348; goto l1344; + l1348:; G->pos= yypos1348; G->thunkpos= yythunkpos1348; + } if (!yy_Nonspacechar(G)) { goto l1344; } goto l1343; + l1344:; G->pos= yypos1344; G->thunkpos= yythunkpos1344; + } + yyprintf((stderr, " ok %s @ %s\n", "DisplayFormulaRawMark", G->buf+G->pos)); + return 1; + l1342:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "DisplayFormulaRawMark", G->buf+G->pos)); + return 0; +} +YY_RULE(int) yy_DisplayFormulaRawEnd(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "DisplayFormulaRawEnd")); if (!yymatchString(G, "\\end")) goto l1349; if (!yymatchChar(G, '{')) goto l1349; if (!yy_DisplayFormulaRawMark(G)) { goto l1349; } if (!yymatchChar(G, '}')) goto l1349; + yyprintf((stderr, " ok %s @ %s\n", "DisplayFormulaRawEnd", G->buf+G->pos)); + return 1; + l1349:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "DisplayFormulaRawEnd", G->buf+G->pos)); + return 0; +} +YY_RULE(int) yy_Spnl(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "Spnl")); if (!yy_Sp(G)) { goto l1350; } + { int yypos1351= G->pos, yythunkpos1351= G->thunkpos; if (!yy_Newline(G)) { goto l1351; } if (!yy_Sp(G)) { goto l1351; } goto l1352; + l1351:; G->pos= yypos1351; G->thunkpos= yythunkpos1351; + } + l1352:; + yyprintf((stderr, " ok %s @ %s\n", "Spnl", G->buf+G->pos)); + return 1; + l1350:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "Spnl", G->buf+G->pos)); + return 0; +} +YY_RULE(int) yy_DisplayFormulaRawStart(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "DisplayFormulaRawStart")); if (!yymatchString(G, "\\begin")) goto l1353; if (!yymatchChar(G, '{')) goto l1353; if (!yy_DisplayFormulaRawMark(G)) { goto l1353; } if (!yymatchChar(G, '}')) goto l1353; + yyprintf((stderr, " ok %s @ %s\n", "DisplayFormulaRawStart", G->buf+G->pos)); + return 1; + l1353:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "DisplayFormulaRawStart", G->buf+G->pos)); + return 0; +} YY_RULE(int) yy_FormulaNumber(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "FormulaNumber")); if (!yymatchChar(G, '(')) goto l1345; - { int yypos1348= G->pos, yythunkpos1348= G->thunkpos; if (!yymatchChar(G, ')')) goto l1348; goto l1345; - l1348:; G->pos= yypos1348; G->thunkpos= yythunkpos1348; + yyprintf((stderr, "%s\n", "FormulaNumber")); if (!yymatchChar(G, '(')) goto l1354; + { int yypos1357= G->pos, yythunkpos1357= G->thunkpos; if (!yymatchChar(G, ')')) goto l1357; goto l1354; + l1357:; G->pos= yypos1357; G->thunkpos= yythunkpos1357; } - { int yypos1349= G->pos, yythunkpos1349= G->thunkpos; if (!yymatchChar(G, '$')) goto l1349; goto l1345; - l1349:; G->pos= yypos1349; G->thunkpos= yythunkpos1349; + { int yypos1358= G->pos, yythunkpos1358= G->thunkpos; if (!yymatchChar(G, '$')) goto l1358; goto l1354; + l1358:; G->pos= yypos1358; G->thunkpos= yythunkpos1358; } - { int yypos1350= G->pos, yythunkpos1350= G->thunkpos; if (!yy_Newline(G)) { goto l1350; } goto l1345; - l1350:; G->pos= yypos1350; G->thunkpos= yythunkpos1350; - } if (!yymatchDot(G)) goto l1345; - l1346:; - { int yypos1347= G->pos, yythunkpos1347= G->thunkpos; - { int yypos1351= G->pos, yythunkpos1351= G->thunkpos; if (!yymatchChar(G, ')')) goto l1351; goto l1347; - l1351:; G->pos= yypos1351; G->thunkpos= yythunkpos1351; + { int yypos1359= G->pos, yythunkpos1359= G->thunkpos; if (!yy_Newline(G)) { goto l1359; } goto l1354; + l1359:; G->pos= yypos1359; G->thunkpos= yythunkpos1359; + } if (!yymatchDot(G)) goto l1354; + l1355:; + { int yypos1356= G->pos, yythunkpos1356= G->thunkpos; + { int yypos1360= G->pos, yythunkpos1360= G->thunkpos; if (!yymatchChar(G, ')')) goto l1360; goto l1356; + l1360:; G->pos= yypos1360; G->thunkpos= yythunkpos1360; } - { int yypos1352= G->pos, yythunkpos1352= G->thunkpos; if (!yymatchChar(G, '$')) goto l1352; goto l1347; - l1352:; G->pos= yypos1352; G->thunkpos= yythunkpos1352; + { int yypos1361= G->pos, yythunkpos1361= G->thunkpos; if (!yymatchChar(G, '$')) goto l1361; goto l1356; + l1361:; G->pos= yypos1361; G->thunkpos= yythunkpos1361; } - { int yypos1353= G->pos, yythunkpos1353= G->thunkpos; if (!yy_Newline(G)) { goto l1353; } goto l1347; - l1353:; G->pos= yypos1353; G->thunkpos= yythunkpos1353; - } if (!yymatchDot(G)) goto l1347; goto l1346; - l1347:; G->pos= yypos1347; G->thunkpos= yythunkpos1347; - } if (!yymatchChar(G, ')')) goto l1345; + { int yypos1362= G->pos, yythunkpos1362= G->thunkpos; if (!yy_Newline(G)) { goto l1362; } goto l1356; + l1362:; G->pos= yypos1362; G->thunkpos= yythunkpos1362; + } if (!yymatchDot(G)) goto l1356; goto l1355; + l1356:; G->pos= yypos1356; G->thunkpos= yythunkpos1356; + } if (!yymatchChar(G, ')')) goto l1354; yyprintf((stderr, " ok %s @ %s\n", "FormulaNumber", G->buf+G->pos)); return 1; - l1345:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1354:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FormulaNumber", G->buf+G->pos)); return 0; } +YY_RULE(int) yy_DisplayFormulaRaw(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "DisplayFormulaRaw")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_MATH_RAW) )) goto l1363; if (!yy_NonindentSpace(G)) { goto l1363; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1363; if (!yy_DisplayFormulaRawStart(G)) { goto l1363; } yyText(G, G->begin, G->end); if (!( start_dfr() )) goto l1363; if (!yy_Spnl(G)) { goto l1363; } + l1364:; + { int yypos1365= G->pos, yythunkpos1365= G->thunkpos; + { int yypos1366= G->pos, yythunkpos1366= G->thunkpos; if (!yy_DisplayFormulaRawStart(G)) { goto l1367; } yyText(G, G->begin, G->end); if (!( inc_dfr() )) goto l1367; goto l1366; + l1367:; G->pos= yypos1366; G->thunkpos= yythunkpos1366; yyText(G, G->begin, G->end); if (!( nested_dfr() )) goto l1368; if (!yy_DisplayFormulaRawEnd(G)) { goto l1368; } yyText(G, G->begin, G->end); if (!( dec_dfr() )) goto l1368; goto l1366; + l1368:; G->pos= yypos1366; G->thunkpos= yythunkpos1366; + { int yypos1369= G->pos, yythunkpos1369= G->thunkpos; if (!yy_DisplayFormulaRawEnd(G)) { goto l1369; } goto l1365; + l1369:; G->pos= yypos1369; G->thunkpos= yythunkpos1369; + } + { int yypos1370= G->pos, yythunkpos1370= G->thunkpos; if (!yy_DisplayFormulaRawStart(G)) { goto l1370; } goto l1365; + l1370:; G->pos= yypos1370; G->thunkpos= yythunkpos1370; + } + { int yypos1371= G->pos, yythunkpos1371= G->thunkpos; if (!yy_Newline(G)) { goto l1371; } if (!yy_Newline(G)) { goto l1371; } + l1372:; + { int yypos1373= G->pos, yythunkpos1373= G->thunkpos; if (!yy_Newline(G)) { goto l1373; } goto l1372; + l1373:; G->pos= yypos1373; G->thunkpos= yythunkpos1373; + } goto l1365; + l1371:; G->pos= yypos1371; G->thunkpos= yythunkpos1371; + } if (!yymatchDot(G)) goto l1365; + } + l1366:; goto l1364; + l1365:; G->pos= yypos1365; G->thunkpos= yythunkpos1365; + } yyText(G, G->begin, G->end); if (!( !nested_dfr() )) goto l1363; if (!yy_DisplayFormulaRawEnd(G)) { goto l1363; } yyText(G, G->begin, G->end); if (!( dec_dfr() )) goto l1363; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1363; if (!yy_Sp(G)) { goto l1363; } if (!yy_Newline(G)) { goto l1363; } yyDo(G, yy_1_DisplayFormulaRaw, G->begin, G->end); + yyprintf((stderr, " ok %s @ %s\n", "DisplayFormulaRaw", G->buf+G->pos)); + return 1; + l1363:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "DisplayFormulaRaw", G->buf+G->pos)); + return 0; +} +YY_RULE(int) yy_DisplayFormulaDollar(GREG *G) +{ int yypos0= G->pos, yythunkpos0= G->thunkpos; + yyprintf((stderr, "%s\n", "DisplayFormulaDollar")); if (!yy_NonindentSpace(G)) { goto l1374; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1374; if (!yymatchString(G, "$$")) goto l1374; + l1375:; + { int yypos1376= G->pos, yythunkpos1376= G->thunkpos; + { int yypos1377= G->pos, yythunkpos1377= G->thunkpos; if (!yymatchString(G, "$$")) goto l1377; goto l1376; + l1377:; G->pos= yypos1377; G->thunkpos= yythunkpos1377; + } if (!yymatchDot(G)) goto l1376; goto l1375; + l1376:; G->pos= yypos1376; G->thunkpos= yythunkpos1376; + } if (!yymatchString(G, "$$")) goto l1374; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1374; if (!yy_Sp(G)) { goto l1374; } + { int yypos1378= G->pos, yythunkpos1378= G->thunkpos; if (!yy_FormulaNumber(G)) { goto l1378; } goto l1379; + l1378:; G->pos= yypos1378; G->thunkpos= yythunkpos1378; + } + l1379:; if (!yy_Sp(G)) { goto l1374; } if (!yy_Newline(G)) { goto l1374; } yyDo(G, yy_1_DisplayFormulaDollar, G->begin, G->end); + yyprintf((stderr, " ok %s @ %s\n", "DisplayFormulaDollar", G->buf+G->pos)); + return 1; + l1374:; G->pos= yypos0; G->thunkpos= yythunkpos0; + yyprintf((stderr, " fail %s @ %s\n", "DisplayFormulaDollar", G->buf+G->pos)); + return 0; +} YY_RULE(int) yy_Spacechar(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Spacechar")); - { int yypos1355= G->pos, yythunkpos1355= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1356; goto l1355; - l1356:; G->pos= yypos1355; G->thunkpos= yythunkpos1355; if (!yymatchChar(G, '\t')) goto l1354; + { int yypos1381= G->pos, yythunkpos1381= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1382; goto l1381; + l1382:; G->pos= yypos1381; G->thunkpos= yythunkpos1381; if (!yymatchChar(G, '\t')) goto l1380; } - l1355:; + l1381:; yyprintf((stderr, " ok %s @ %s\n", "Spacechar", G->buf+G->pos)); return 1; - l1354:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1380:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Spacechar", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FencedCodeBlockEnd(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "FencedCodeBlockEnd")); if (!yymatchString(G, "```")) goto l1357; - l1358:; - { int yypos1359= G->pos, yythunkpos1359= G->thunkpos; if (!yy_Spacechar(G)) { goto l1359; } goto l1358; - l1359:; G->pos= yypos1359; G->thunkpos= yythunkpos1359; - } if (!yy_Newline(G)) { goto l1357; } + yyprintf((stderr, "%s\n", "FencedCodeBlockEnd")); if (!yymatchString(G, "```")) goto l1383; + l1384:; + { int yypos1385= G->pos, yythunkpos1385= G->thunkpos; if (!yy_Spacechar(G)) { goto l1385; } goto l1384; + l1385:; G->pos= yypos1385; G->thunkpos= yythunkpos1385; + } if (!yy_Newline(G)) { goto l1383; } yyprintf((stderr, " ok %s @ %s\n", "FencedCodeBlockEnd", G->buf+G->pos)); return 1; - l1357:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1383:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FencedCodeBlockEnd", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FencedCodeBlockChunk(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "FencedCodeBlockChunk")); - { int yypos1361= G->pos, yythunkpos1361= G->thunkpos; if (!yy_FencedCodeBlockEnd(G)) { goto l1361; } goto l1360; - l1361:; G->pos= yypos1361; G->thunkpos= yythunkpos1361; + { int yypos1387= G->pos, yythunkpos1387= G->thunkpos; if (!yy_FencedCodeBlockEnd(G)) { goto l1387; } goto l1386; + l1387:; G->pos= yypos1387; G->thunkpos= yythunkpos1387; } - l1362:; - { int yypos1363= G->pos, yythunkpos1363= G->thunkpos; - { int yypos1364= G->pos, yythunkpos1364= G->thunkpos; if (!yy_Newline(G)) { goto l1364; } goto l1363; - l1364:; G->pos= yypos1364; G->thunkpos= yythunkpos1364; - } if (!yymatchDot(G)) goto l1363; goto l1362; - l1363:; G->pos= yypos1363; G->thunkpos= yythunkpos1363; - } if (!yy_Newline(G)) { goto l1360; } + l1388:; + { int yypos1389= G->pos, yythunkpos1389= G->thunkpos; + { int yypos1390= G->pos, yythunkpos1390= G->thunkpos; if (!yy_Newline(G)) { goto l1390; } goto l1389; + l1390:; G->pos= yypos1390; G->thunkpos= yythunkpos1390; + } if (!yymatchDot(G)) goto l1389; goto l1388; + l1389:; G->pos= yypos1389; G->thunkpos= yythunkpos1389; + } if (!yy_Newline(G)) { goto l1386; } yyprintf((stderr, " ok %s @ %s\n", "FencedCodeBlockChunk", G->buf+G->pos)); return 1; - l1360:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1386:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FencedCodeBlockChunk", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FencedCodeBlockStart(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "FencedCodeBlockStart")); if (!yymatchString(G, "```")) goto l1365; - l1366:; - { int yypos1367= G->pos, yythunkpos1367= G->thunkpos; - { int yypos1368= G->pos, yythunkpos1368= G->thunkpos; if (!yy_Newline(G)) { goto l1368; } goto l1367; - l1368:; G->pos= yypos1368; G->thunkpos= yythunkpos1368; + yyprintf((stderr, "%s\n", "FencedCodeBlockStart")); if (!yymatchString(G, "```")) goto l1391; + l1392:; + { int yypos1393= G->pos, yythunkpos1393= G->thunkpos; + { int yypos1394= G->pos, yythunkpos1394= G->thunkpos; if (!yy_Newline(G)) { goto l1394; } goto l1393; + l1394:; G->pos= yypos1394; G->thunkpos= yythunkpos1394; } - { int yypos1369= G->pos, yythunkpos1369= G->thunkpos; if (!yymatchChar(G, '`')) goto l1369; goto l1367; - l1369:; G->pos= yypos1369; G->thunkpos= yythunkpos1369; - } if (!yymatchDot(G)) goto l1367; goto l1366; - l1367:; G->pos= yypos1367; G->thunkpos= yythunkpos1367; - } if (!yy_Newline(G)) { goto l1365; } + { int yypos1395= G->pos, yythunkpos1395= G->thunkpos; if (!yymatchChar(G, '`')) goto l1395; goto l1393; + l1395:; G->pos= yypos1395; G->thunkpos= yythunkpos1395; + } if (!yymatchDot(G)) goto l1393; goto l1392; + l1393:; G->pos= yypos1393; G->thunkpos= yythunkpos1393; + } if (!yy_Newline(G)) { goto l1391; } yyprintf((stderr, " ok %s @ %s\n", "FencedCodeBlockStart", G->buf+G->pos)); return 1; - l1365:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1391:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FencedCodeBlockStart", G->buf+G->pos)); return 0; } YY_RULE(int) yy_VerbatimChunk(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "VerbatimChunk")); - l1371:; - { int yypos1372= G->pos, yythunkpos1372= G->thunkpos; if (!yy_BlankLine(G)) { goto l1372; } goto l1371; - l1372:; G->pos= yypos1372; G->thunkpos= yythunkpos1372; - } if (!yy_NonblankIndentedLine(G)) { goto l1370; } - l1373:; - { int yypos1374= G->pos, yythunkpos1374= G->thunkpos; if (!yy_NonblankIndentedLine(G)) { goto l1374; } goto l1373; - l1374:; G->pos= yypos1374; G->thunkpos= yythunkpos1374; + l1397:; + { int yypos1398= G->pos, yythunkpos1398= G->thunkpos; if (!yy_BlankLine(G)) { goto l1398; } goto l1397; + l1398:; G->pos= yypos1398; G->thunkpos= yythunkpos1398; + } if (!yy_NonblankIndentedLine(G)) { goto l1396; } + l1399:; + { int yypos1400= G->pos, yythunkpos1400= G->thunkpos; if (!yy_NonblankIndentedLine(G)) { goto l1400; } goto l1399; + l1400:; G->pos= yypos1400; G->thunkpos= yythunkpos1400; } yyprintf((stderr, " ok %s @ %s\n", "VerbatimChunk", G->buf+G->pos)); return 1; - l1370:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1396:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "VerbatimChunk", G->buf+G->pos)); return 0; } YY_RULE(int) yy_IndentedLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "IndentedLine")); if (!yy_Indent(G)) { goto l1375; } if (!yy_Line(G)) { goto l1375; } + yyprintf((stderr, "%s\n", "IndentedLine")); if (!yy_Indent(G)) { goto l1401; } if (!yy_Line(G)) { goto l1401; } yyprintf((stderr, " ok %s @ %s\n", "IndentedLine", G->buf+G->pos)); return 1; - l1375:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1401:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "IndentedLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_NonblankIndentedLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "NonblankIndentedLine")); - { int yypos1377= G->pos, yythunkpos1377= G->thunkpos; if (!yy_BlankLine(G)) { goto l1377; } goto l1376; - l1377:; G->pos= yypos1377; G->thunkpos= yythunkpos1377; - } if (!yy_IndentedLine(G)) { goto l1376; } + { int yypos1403= G->pos, yythunkpos1403= G->thunkpos; if (!yy_BlankLine(G)) { goto l1403; } goto l1402; + l1403:; G->pos= yypos1403; G->thunkpos= yythunkpos1403; + } if (!yy_IndentedLine(G)) { goto l1402; } yyprintf((stderr, " ok %s @ %s\n", "NonblankIndentedLine", G->buf+G->pos)); return 1; - l1376:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1402:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NonblankIndentedLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Line(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Line")); if (!yy_RawLine(G)) { goto l1378; } yyDo(G, yy_1_Line, G->begin, G->end); + yyprintf((stderr, "%s\n", "Line")); if (!yy_RawLine(G)) { goto l1404; } yyDo(G, yy_1_Line, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Line", G->buf+G->pos)); return 1; - l1378:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1404:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Line", G->buf+G->pos)); return 0; } YY_RULE(int) yy_StartList(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "StartList")); - { int yypos1380= G->pos, yythunkpos1380= G->thunkpos; if (!yymatchDot(G)) goto l1379; G->pos= yypos1380; G->thunkpos= yythunkpos1380; + { int yypos1406= G->pos, yythunkpos1406= G->thunkpos; if (!yymatchDot(G)) goto l1405; G->pos= yypos1406; G->thunkpos= yythunkpos1406; } yyDo(G, yy_1_StartList, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "StartList", G->buf+G->pos)); return 1; - l1379:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1405:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StartList", G->buf+G->pos)); return 0; } YY_RULE(int) yy_BlockQuoteRaw(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "BlockQuoteRaw")); if (!yy_StartList(G)) { goto l1381; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1381; if (!yymatchChar(G, '>')) goto l1381; - { int yypos1384= G->pos, yythunkpos1384= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1384; goto l1385; - l1384:; G->pos= yypos1384; G->thunkpos= yythunkpos1384; + yyprintf((stderr, "%s\n", "BlockQuoteRaw")); if (!yy_StartList(G)) { goto l1407; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1407; if (!yymatchChar(G, '>')) goto l1407; + { int yypos1410= G->pos, yythunkpos1410= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1410; goto l1411; + l1410:; G->pos= yypos1410; G->thunkpos= yythunkpos1410; } - l1385:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1381; yyDo(G, yy_1_BlockQuoteRaw, G->begin, G->end); if (!yy_Line(G)) { goto l1381; } yyDo(G, yy_2_BlockQuoteRaw, G->begin, G->end); - l1386:; - { int yypos1387= G->pos, yythunkpos1387= G->thunkpos; - { int yypos1388= G->pos, yythunkpos1388= G->thunkpos; if (!yymatchChar(G, '>')) goto l1388; goto l1387; - l1388:; G->pos= yypos1388; G->thunkpos= yythunkpos1388; + l1411:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1407; yyDo(G, yy_1_BlockQuoteRaw, G->begin, G->end); if (!yy_Line(G)) { goto l1407; } yyDo(G, yy_2_BlockQuoteRaw, G->begin, G->end); + l1412:; + { int yypos1413= G->pos, yythunkpos1413= G->thunkpos; + { int yypos1414= G->pos, yythunkpos1414= G->thunkpos; if (!yymatchChar(G, '>')) goto l1414; goto l1413; + l1414:; G->pos= yypos1414; G->thunkpos= yythunkpos1414; } - { int yypos1389= G->pos, yythunkpos1389= G->thunkpos; if (!yy_BlankLine(G)) { goto l1389; } goto l1387; - l1389:; G->pos= yypos1389; G->thunkpos= yythunkpos1389; - } if (!yy_Line(G)) { goto l1387; } yyDo(G, yy_3_BlockQuoteRaw, G->begin, G->end); goto l1386; - l1387:; G->pos= yypos1387; G->thunkpos= yythunkpos1387; + { int yypos1415= G->pos, yythunkpos1415= G->thunkpos; if (!yy_BlankLine(G)) { goto l1415; } goto l1413; + l1415:; G->pos= yypos1415; G->thunkpos= yythunkpos1415; + } if (!yy_Line(G)) { goto l1413; } yyDo(G, yy_3_BlockQuoteRaw, G->begin, G->end); goto l1412; + l1413:; G->pos= yypos1413; G->thunkpos= yythunkpos1413; } - l1390:; - { int yypos1391= G->pos, yythunkpos1391= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1391; if (!yy_BlankLine(G)) { goto l1391; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1391; yyDo(G, yy_4_BlockQuoteRaw, G->begin, G->end); goto l1390; - l1391:; G->pos= yypos1391; G->thunkpos= yythunkpos1391; + l1416:; + { int yypos1417= G->pos, yythunkpos1417= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1417; if (!yy_BlankLine(G)) { goto l1417; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1417; yyDo(G, yy_4_BlockQuoteRaw, G->begin, G->end); goto l1416; + l1417:; G->pos= yypos1417; G->thunkpos= yythunkpos1417; } - l1382:; - { int yypos1383= G->pos, yythunkpos1383= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1383; if (!yymatchChar(G, '>')) goto l1383; - { int yypos1392= G->pos, yythunkpos1392= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1392; goto l1393; - l1392:; G->pos= yypos1392; G->thunkpos= yythunkpos1392; + l1408:; + { int yypos1409= G->pos, yythunkpos1409= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1409; if (!yymatchChar(G, '>')) goto l1409; + { int yypos1418= G->pos, yythunkpos1418= G->thunkpos; if (!yymatchChar(G, ' ')) goto l1418; goto l1419; + l1418:; G->pos= yypos1418; G->thunkpos= yythunkpos1418; } - l1393:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1383; yyDo(G, yy_1_BlockQuoteRaw, G->begin, G->end); if (!yy_Line(G)) { goto l1383; } yyDo(G, yy_2_BlockQuoteRaw, G->begin, G->end); - l1394:; - { int yypos1395= G->pos, yythunkpos1395= G->thunkpos; - { int yypos1396= G->pos, yythunkpos1396= G->thunkpos; if (!yymatchChar(G, '>')) goto l1396; goto l1395; - l1396:; G->pos= yypos1396; G->thunkpos= yythunkpos1396; + l1419:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1409; yyDo(G, yy_1_BlockQuoteRaw, G->begin, G->end); if (!yy_Line(G)) { goto l1409; } yyDo(G, yy_2_BlockQuoteRaw, G->begin, G->end); + l1420:; + { int yypos1421= G->pos, yythunkpos1421= G->thunkpos; + { int yypos1422= G->pos, yythunkpos1422= G->thunkpos; if (!yymatchChar(G, '>')) goto l1422; goto l1421; + l1422:; G->pos= yypos1422; G->thunkpos= yythunkpos1422; } - { int yypos1397= G->pos, yythunkpos1397= G->thunkpos; if (!yy_BlankLine(G)) { goto l1397; } goto l1395; - l1397:; G->pos= yypos1397; G->thunkpos= yythunkpos1397; - } if (!yy_Line(G)) { goto l1395; } yyDo(G, yy_3_BlockQuoteRaw, G->begin, G->end); goto l1394; - l1395:; G->pos= yypos1395; G->thunkpos= yythunkpos1395; + { int yypos1423= G->pos, yythunkpos1423= G->thunkpos; if (!yy_BlankLine(G)) { goto l1423; } goto l1421; + l1423:; G->pos= yypos1423; G->thunkpos= yythunkpos1423; + } if (!yy_Line(G)) { goto l1421; } yyDo(G, yy_3_BlockQuoteRaw, G->begin, G->end); goto l1420; + l1421:; G->pos= yypos1421; G->thunkpos= yythunkpos1421; } - l1398:; - { int yypos1399= G->pos, yythunkpos1399= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1399; if (!yy_BlankLine(G)) { goto l1399; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1399; yyDo(G, yy_4_BlockQuoteRaw, G->begin, G->end); goto l1398; - l1399:; G->pos= yypos1399; G->thunkpos= yythunkpos1399; - } goto l1382; - l1383:; G->pos= yypos1383; G->thunkpos= yythunkpos1383; + l1424:; + { int yypos1425= G->pos, yythunkpos1425= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1425; if (!yy_BlankLine(G)) { goto l1425; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1425; yyDo(G, yy_4_BlockQuoteRaw, G->begin, G->end); goto l1424; + l1425:; G->pos= yypos1425; G->thunkpos= yythunkpos1425; + } goto l1408; + l1409:; G->pos= yypos1409; G->thunkpos= yythunkpos1409; } yyDo(G, yy_5_BlockQuoteRaw, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "BlockQuoteRaw", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1381:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1407:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlockQuoteRaw", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Endline(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Endline")); - { int yypos1401= G->pos, yythunkpos1401= G->thunkpos; if (!yy_LineBreak(G)) { goto l1402; } goto l1401; - l1402:; G->pos= yypos1401; G->thunkpos= yythunkpos1401; if (!yy_TerminalEndline(G)) { goto l1403; } goto l1401; - l1403:; G->pos= yypos1401; G->thunkpos= yythunkpos1401; if (!yy_NormalEndline(G)) { goto l1400; } + { int yypos1427= G->pos, yythunkpos1427= G->thunkpos; if (!yy_LineBreak(G)) { goto l1428; } goto l1427; + l1428:; G->pos= yypos1427; G->thunkpos= yythunkpos1427; if (!yy_TerminalEndline(G)) { goto l1429; } goto l1427; + l1429:; G->pos= yypos1427; G->thunkpos= yythunkpos1427; if (!yy_NormalEndline(G)) { goto l1426; } } - l1401:; + l1427:; yyprintf((stderr, " ok %s @ %s\n", "Endline", G->buf+G->pos)); return 1; - l1400:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1426:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Endline", G->buf+G->pos)); return 0; } YY_RULE(int) yy_RawLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "RawLine")); - { int yypos1405= G->pos, yythunkpos1405= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1406; - l1407:; - { int yypos1408= G->pos, yythunkpos1408= G->thunkpos; - { int yypos1409= G->pos, yythunkpos1409= G->thunkpos; if (!yymatchChar(G, '\r')) goto l1409; goto l1408; - l1409:; G->pos= yypos1409; G->thunkpos= yythunkpos1409; + { int yypos1431= G->pos, yythunkpos1431= G->thunkpos; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1432; + l1433:; + { int yypos1434= G->pos, yythunkpos1434= G->thunkpos; + { int yypos1435= G->pos, yythunkpos1435= G->thunkpos; if (!yymatchChar(G, '\r')) goto l1435; goto l1434; + l1435:; G->pos= yypos1435; G->thunkpos= yythunkpos1435; } - { int yypos1410= G->pos, yythunkpos1410= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1410; goto l1408; - l1410:; G->pos= yypos1410; G->thunkpos= yythunkpos1410; - } if (!yymatchDot(G)) goto l1408; goto l1407; - l1408:; G->pos= yypos1408; G->thunkpos= yythunkpos1408; - } if (!yy_Newline(G)) { goto l1406; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1406; goto l1405; - l1406:; G->pos= yypos1405; G->thunkpos= yythunkpos1405; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1404; if (!yymatchDot(G)) goto l1404; - l1411:; - { int yypos1412= G->pos, yythunkpos1412= G->thunkpos; if (!yymatchDot(G)) goto l1412; goto l1411; - l1412:; G->pos= yypos1412; G->thunkpos= yythunkpos1412; - } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1404; if (!yy_Eof(G)) { goto l1404; } + { int yypos1436= G->pos, yythunkpos1436= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1436; goto l1434; + l1436:; G->pos= yypos1436; G->thunkpos= yythunkpos1436; + } if (!yymatchDot(G)) goto l1434; goto l1433; + l1434:; G->pos= yypos1434; G->thunkpos= yythunkpos1434; + } if (!yy_Newline(G)) { goto l1432; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1432; goto l1431; + l1432:; G->pos= yypos1431; G->thunkpos= yythunkpos1431; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1430; if (!yymatchDot(G)) goto l1430; + l1437:; + { int yypos1438= G->pos, yythunkpos1438= G->thunkpos; if (!yymatchDot(G)) goto l1438; goto l1437; + l1438:; G->pos= yypos1438; G->thunkpos= yythunkpos1438; + } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1430; if (!yy_Eof(G)) { goto l1430; } } - l1405:; yyDo(G, yy_1_RawLine, G->begin, G->end); + l1431:; yyDo(G, yy_1_RawLine, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "RawLine", G->buf+G->pos)); return 1; - l1404:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1430:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "RawLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_SetextBottom2(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "SetextBottom2")); if (!yymatchChar(G, '-')) goto l1413; - l1414:; - { int yypos1415= G->pos, yythunkpos1415= G->thunkpos; if (!yymatchChar(G, '-')) goto l1415; goto l1414; - l1415:; G->pos= yypos1415; G->thunkpos= yythunkpos1415; - } if (!yy_Newline(G)) { goto l1413; } + yyprintf((stderr, "%s\n", "SetextBottom2")); if (!yymatchChar(G, '-')) goto l1439; + l1440:; + { int yypos1441= G->pos, yythunkpos1441= G->thunkpos; if (!yymatchChar(G, '-')) goto l1441; goto l1440; + l1441:; G->pos= yypos1441; G->thunkpos= yythunkpos1441; + } if (!yy_Newline(G)) { goto l1439; } yyprintf((stderr, " ok %s @ %s\n", "SetextBottom2", G->buf+G->pos)); return 1; - l1413:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1439:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextBottom2", G->buf+G->pos)); return 0; } YY_RULE(int) yy_SetextBottom1(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "SetextBottom1")); if (!yymatchChar(G, '=')) goto l1416; - l1417:; - { int yypos1418= G->pos, yythunkpos1418= G->thunkpos; if (!yymatchChar(G, '=')) goto l1418; goto l1417; - l1418:; G->pos= yypos1418; G->thunkpos= yythunkpos1418; - } if (!yy_Newline(G)) { goto l1416; } + yyprintf((stderr, "%s\n", "SetextBottom1")); if (!yymatchChar(G, '=')) goto l1442; + l1443:; + { int yypos1444= G->pos, yythunkpos1444= G->thunkpos; if (!yymatchChar(G, '=')) goto l1444; goto l1443; + l1444:; G->pos= yypos1444; G->thunkpos= yythunkpos1444; + } if (!yy_Newline(G)) { goto l1442; } yyprintf((stderr, " ok %s @ %s\n", "SetextBottom1", G->buf+G->pos)); return 1; - l1416:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1442:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextBottom1", G->buf+G->pos)); return 0; } YY_RULE(int) yy_SetextHeading2(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); yyprintf((stderr, "%s\n", "SetextHeading2")); - { int yypos1420= G->pos, yythunkpos1420= G->thunkpos; if (!yy_RawLine(G)) { goto l1419; } if (!yy_SetextBottom2(G)) { goto l1419; } G->pos= yypos1420; G->thunkpos= yythunkpos1420; - } if (!yy_LocMarker(G)) { goto l1419; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1419; - { int yypos1423= G->pos, yythunkpos1423= G->thunkpos; if (!yy_Endline(G)) { goto l1423; } goto l1419; - l1423:; G->pos= yypos1423; G->thunkpos= yythunkpos1423; - } if (!yy_Inline(G)) { goto l1419; } - l1421:; - { int yypos1422= G->pos, yythunkpos1422= G->thunkpos; - { int yypos1424= G->pos, yythunkpos1424= G->thunkpos; if (!yy_Endline(G)) { goto l1424; } goto l1422; - l1424:; G->pos= yypos1424; G->thunkpos= yythunkpos1424; - } if (!yy_Inline(G)) { goto l1422; } goto l1421; - l1422:; G->pos= yypos1422; G->thunkpos= yythunkpos1422; - } if (!yy_Sp(G)) { goto l1419; } if (!yy_Newline(G)) { goto l1419; } if (!yy_SetextBottom2(G)) { goto l1419; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1419; yyDo(G, yy_1_SetextHeading2, G->begin, G->end); + { int yypos1446= G->pos, yythunkpos1446= G->thunkpos; if (!yy_RawLine(G)) { goto l1445; } if (!yy_SetextBottom2(G)) { goto l1445; } G->pos= yypos1446; G->thunkpos= yythunkpos1446; + } if (!yy_LocMarker(G)) { goto l1445; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1445; + { int yypos1449= G->pos, yythunkpos1449= G->thunkpos; if (!yy_Endline(G)) { goto l1449; } goto l1445; + l1449:; G->pos= yypos1449; G->thunkpos= yythunkpos1449; + } if (!yy_Inline(G)) { goto l1445; } + l1447:; + { int yypos1448= G->pos, yythunkpos1448= G->thunkpos; + { int yypos1450= G->pos, yythunkpos1450= G->thunkpos; if (!yy_Endline(G)) { goto l1450; } goto l1448; + l1450:; G->pos= yypos1450; G->thunkpos= yythunkpos1450; + } if (!yy_Inline(G)) { goto l1448; } goto l1447; + l1448:; G->pos= yypos1448; G->thunkpos= yythunkpos1448; + } if (!yy_Sp(G)) { goto l1445; } if (!yy_Newline(G)) { goto l1445; } if (!yy_SetextBottom2(G)) { goto l1445; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1445; yyDo(G, yy_1_SetextHeading2, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "SetextHeading2", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1419:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1445:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading2", G->buf+G->pos)); return 0; } YY_RULE(int) yy_SetextHeading1(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); yyprintf((stderr, "%s\n", "SetextHeading1")); - { int yypos1426= G->pos, yythunkpos1426= G->thunkpos; if (!yy_RawLine(G)) { goto l1425; } if (!yy_SetextBottom1(G)) { goto l1425; } G->pos= yypos1426; G->thunkpos= yythunkpos1426; - } if (!yy_LocMarker(G)) { goto l1425; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1425; - { int yypos1429= G->pos, yythunkpos1429= G->thunkpos; if (!yy_Endline(G)) { goto l1429; } goto l1425; - l1429:; G->pos= yypos1429; G->thunkpos= yythunkpos1429; - } if (!yy_Inline(G)) { goto l1425; } - l1427:; - { int yypos1428= G->pos, yythunkpos1428= G->thunkpos; - { int yypos1430= G->pos, yythunkpos1430= G->thunkpos; if (!yy_Endline(G)) { goto l1430; } goto l1428; - l1430:; G->pos= yypos1430; G->thunkpos= yythunkpos1430; - } if (!yy_Inline(G)) { goto l1428; } goto l1427; - l1428:; G->pos= yypos1428; G->thunkpos= yythunkpos1428; - } if (!yy_Sp(G)) { goto l1425; } if (!yy_Newline(G)) { goto l1425; } if (!yy_SetextBottom1(G)) { goto l1425; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1425; yyDo(G, yy_1_SetextHeading1, G->begin, G->end); + { int yypos1452= G->pos, yythunkpos1452= G->thunkpos; if (!yy_RawLine(G)) { goto l1451; } if (!yy_SetextBottom1(G)) { goto l1451; } G->pos= yypos1452; G->thunkpos= yythunkpos1452; + } if (!yy_LocMarker(G)) { goto l1451; } yyDo(G, yySet, -1, 0); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1451; + { int yypos1455= G->pos, yythunkpos1455= G->thunkpos; if (!yy_Endline(G)) { goto l1455; } goto l1451; + l1455:; G->pos= yypos1455; G->thunkpos= yythunkpos1455; + } if (!yy_Inline(G)) { goto l1451; } + l1453:; + { int yypos1454= G->pos, yythunkpos1454= G->thunkpos; + { int yypos1456= G->pos, yythunkpos1456= G->thunkpos; if (!yy_Endline(G)) { goto l1456; } goto l1454; + l1456:; G->pos= yypos1456; G->thunkpos= yythunkpos1456; + } if (!yy_Inline(G)) { goto l1454; } goto l1453; + l1454:; G->pos= yypos1454; G->thunkpos= yythunkpos1454; + } if (!yy_Sp(G)) { goto l1451; } if (!yy_Newline(G)) { goto l1451; } if (!yy_SetextBottom1(G)) { goto l1451; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1451; yyDo(G, yy_1_SetextHeading1, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "SetextHeading1", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1425:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1451:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading1", G->buf+G->pos)); return 0; } YY_RULE(int) yy_SetextHeading(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "SetextHeading")); - { int yypos1432= G->pos, yythunkpos1432= G->thunkpos; if (!yy_SetextHeading1(G)) { goto l1433; } goto l1432; - l1433:; G->pos= yypos1432; G->thunkpos= yythunkpos1432; if (!yy_SetextHeading2(G)) { goto l1431; } + { int yypos1458= G->pos, yythunkpos1458= G->thunkpos; if (!yy_SetextHeading1(G)) { goto l1459; } goto l1458; + l1459:; G->pos= yypos1458; G->thunkpos= yythunkpos1458; if (!yy_SetextHeading2(G)) { goto l1457; } } - l1432:; + l1458:; yyprintf((stderr, " ok %s @ %s\n", "SetextHeading", G->buf+G->pos)); return 1; - l1431:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1457:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "SetextHeading", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Space(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Space")); if (!yy_Spacechar(G)) { goto l1434; } - l1435:; - { int yypos1436= G->pos, yythunkpos1436= G->thunkpos; if (!yy_Spacechar(G)) { goto l1436; } goto l1435; - l1436:; G->pos= yypos1436; G->thunkpos= yythunkpos1436; + yyprintf((stderr, "%s\n", "Space")); if (!yy_Spacechar(G)) { goto l1460; } + l1461:; + { int yypos1462= G->pos, yythunkpos1462= G->thunkpos; if (!yy_Spacechar(G)) { goto l1462; } goto l1461; + l1462:; G->pos= yypos1462; G->thunkpos= yythunkpos1462; } yyprintf((stderr, " ok %s @ %s\n", "Space", G->buf+G->pos)); return 1; - l1434:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1460:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Space", G->buf+G->pos)); return 0; } YY_RULE(int) yy_AtxHeading(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "AtxHeading")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1437; if (!yy_AtxStart(G)) { goto l1437; } yyDo(G, yySet, -1, 0); if (!yy_Space(G)) { goto l1437; } if (!yy_AtxInline(G)) { goto l1437; } - l1438:; - { int yypos1439= G->pos, yythunkpos1439= G->thunkpos; if (!yy_AtxInline(G)) { goto l1439; } goto l1438; - l1439:; G->pos= yypos1439; G->thunkpos= yythunkpos1439; + yyprintf((stderr, "%s\n", "AtxHeading")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1463; if (!yy_AtxStart(G)) { goto l1463; } yyDo(G, yySet, -1, 0); if (!yy_Space(G)) { goto l1463; } if (!yy_AtxInline(G)) { goto l1463; } + l1464:; + { int yypos1465= G->pos, yythunkpos1465= G->thunkpos; if (!yy_AtxInline(G)) { goto l1465; } goto l1464; + l1465:; G->pos= yypos1465; G->thunkpos= yythunkpos1465; } - { int yypos1440= G->pos, yythunkpos1440= G->thunkpos; if (!yy_Sp(G)) { goto l1440; } - l1442:; - { int yypos1443= G->pos, yythunkpos1443= G->thunkpos; if (!yymatchChar(G, '#')) goto l1443; goto l1442; - l1443:; G->pos= yypos1443; G->thunkpos= yythunkpos1443; - } if (!yy_Sp(G)) { goto l1440; } goto l1441; - l1440:; G->pos= yypos1440; G->thunkpos= yythunkpos1440; + { int yypos1466= G->pos, yythunkpos1466= G->thunkpos; if (!yy_Sp(G)) { goto l1466; } + l1468:; + { int yypos1469= G->pos, yythunkpos1469= G->thunkpos; if (!yymatchChar(G, '#')) goto l1469; goto l1468; + l1469:; G->pos= yypos1469; G->thunkpos= yythunkpos1469; + } if (!yy_Sp(G)) { goto l1466; } goto l1467; + l1466:; G->pos= yypos1466; G->thunkpos= yythunkpos1466; } - l1441:; if (!yy_Newline(G)) { goto l1437; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1437; yyDo(G, yy_1_AtxHeading, G->begin, G->end); + l1467:; if (!yy_Newline(G)) { goto l1463; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1463; yyDo(G, yy_1_AtxHeading, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "AtxHeading", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1437:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1463:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxHeading", G->buf+G->pos)); return 0; } YY_RULE(int) yy_AtxStart(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "AtxStart")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1444; - { int yypos1445= G->pos, yythunkpos1445= G->thunkpos; if (!yymatchString(G, "######")) goto l1446; goto l1445; - l1446:; G->pos= yypos1445; G->thunkpos= yythunkpos1445; if (!yymatchString(G, "#####")) goto l1447; goto l1445; - l1447:; G->pos= yypos1445; G->thunkpos= yythunkpos1445; if (!yymatchString(G, "####")) goto l1448; goto l1445; - l1448:; G->pos= yypos1445; G->thunkpos= yythunkpos1445; if (!yymatchString(G, "###")) goto l1449; goto l1445; - l1449:; G->pos= yypos1445; G->thunkpos= yythunkpos1445; if (!yymatchString(G, "##")) goto l1450; goto l1445; - l1450:; G->pos= yypos1445; G->thunkpos= yythunkpos1445; if (!yymatchChar(G, '#')) goto l1444; + yyprintf((stderr, "%s\n", "AtxStart")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1470; + { int yypos1471= G->pos, yythunkpos1471= G->thunkpos; if (!yymatchString(G, "######")) goto l1472; goto l1471; + l1472:; G->pos= yypos1471; G->thunkpos= yythunkpos1471; if (!yymatchString(G, "#####")) goto l1473; goto l1471; + l1473:; G->pos= yypos1471; G->thunkpos= yythunkpos1471; if (!yymatchString(G, "####")) goto l1474; goto l1471; + l1474:; G->pos= yypos1471; G->thunkpos= yythunkpos1471; if (!yymatchString(G, "###")) goto l1475; goto l1471; + l1475:; G->pos= yypos1471; G->thunkpos= yythunkpos1471; if (!yymatchString(G, "##")) goto l1476; goto l1471; + l1476:; G->pos= yypos1471; G->thunkpos= yythunkpos1471; if (!yymatchChar(G, '#')) goto l1470; } - l1445:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1444; yyDo(G, yy_1_AtxStart, G->begin, G->end); + l1471:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1470; yyDo(G, yy_1_AtxStart, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "AtxStart", G->buf+G->pos)); return 1; - l1444:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1470:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxStart", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Inline(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Inline")); - { int yypos1452= G->pos, yythunkpos1452= G->thunkpos; if (!yy_Str(G)) { goto l1453; } goto l1452; - l1453:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Endline(G)) { goto l1454; } goto l1452; - l1454:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_UlOrStarLine(G)) { goto l1455; } goto l1452; - l1455:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Space(G)) { goto l1456; } goto l1452; - l1456:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Strong(G)) { goto l1457; } goto l1452; - l1457:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Emph(G)) { goto l1458; } goto l1452; - l1458:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Strike(G)) { goto l1459; } goto l1452; - l1459:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Image(G)) { goto l1460; } goto l1452; - l1460:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Link(G)) { goto l1461; } goto l1452; - l1461:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_NoteReference(G)) { goto l1462; } goto l1452; - l1462:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_InlineNote(G)) { goto l1463; } goto l1452; - l1463:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Code(G)) { goto l1464; } goto l1452; - l1464:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_InlineEquation(G)) { goto l1465; } goto l1452; - l1465:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Mark(G)) { goto l1466; } goto l1452; - l1466:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_RawHtml(G)) { goto l1467; } goto l1452; - l1467:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Entity(G)) { goto l1468; } goto l1452; - l1468:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_EscapedChar(G)) { goto l1469; } goto l1452; - l1469:; G->pos= yypos1452; G->thunkpos= yythunkpos1452; if (!yy_Symbol(G)) { goto l1451; } + { int yypos1478= G->pos, yythunkpos1478= G->thunkpos; if (!yy_Str(G)) { goto l1479; } goto l1478; + l1479:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Endline(G)) { goto l1480; } goto l1478; + l1480:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_UlOrStarLine(G)) { goto l1481; } goto l1478; + l1481:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Space(G)) { goto l1482; } goto l1478; + l1482:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Strong(G)) { goto l1483; } goto l1478; + l1483:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Emph(G)) { goto l1484; } goto l1478; + l1484:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Strike(G)) { goto l1485; } goto l1478; + l1485:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Image(G)) { goto l1486; } goto l1478; + l1486:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Link(G)) { goto l1487; } goto l1478; + l1487:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_NoteReference(G)) { goto l1488; } goto l1478; + l1488:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_InlineNote(G)) { goto l1489; } goto l1478; + l1489:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Code(G)) { goto l1490; } goto l1478; + l1490:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_InlineEquation(G)) { goto l1491; } goto l1478; + l1491:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Mark(G)) { goto l1492; } goto l1478; + l1492:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_RawHtml(G)) { goto l1493; } goto l1478; + l1493:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Entity(G)) { goto l1494; } goto l1478; + l1494:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_EscapedChar(G)) { goto l1495; } goto l1478; + l1495:; G->pos= yypos1478; G->thunkpos= yythunkpos1478; if (!yy_Symbol(G)) { goto l1477; } } - l1452:; + l1478:; yyprintf((stderr, " ok %s @ %s\n", "Inline", G->buf+G->pos)); return 1; - l1451:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1477:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Inline", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Sp(GREG *G) { yyprintf((stderr, "%s\n", "Sp")); - l1471:; - { int yypos1472= G->pos, yythunkpos1472= G->thunkpos; if (!yy_Spacechar(G)) { goto l1472; } goto l1471; - l1472:; G->pos= yypos1472; G->thunkpos= yythunkpos1472; + l1497:; + { int yypos1498= G->pos, yythunkpos1498= G->thunkpos; if (!yy_Spacechar(G)) { goto l1498; } goto l1497; + l1498:; G->pos= yypos1498; G->thunkpos= yythunkpos1498; } yyprintf((stderr, " ok %s @ %s\n", "Sp", G->buf+G->pos)); return 1; @@ -6603,405 +6733,398 @@ YY_RULE(int) yy_Sp(GREG *G) YY_RULE(int) yy_AtxInline(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "AtxInline")); - { int yypos1474= G->pos, yythunkpos1474= G->thunkpos; if (!yy_Newline(G)) { goto l1474; } goto l1473; - l1474:; G->pos= yypos1474; G->thunkpos= yythunkpos1474; + { int yypos1500= G->pos, yythunkpos1500= G->thunkpos; if (!yy_Newline(G)) { goto l1500; } goto l1499; + l1500:; G->pos= yypos1500; G->thunkpos= yythunkpos1500; } - { int yypos1475= G->pos, yythunkpos1475= G->thunkpos; if (!yy_Sp(G)) { goto l1475; } - l1476:; - { int yypos1477= G->pos, yythunkpos1477= G->thunkpos; if (!yymatchChar(G, '#')) goto l1477; goto l1476; - l1477:; G->pos= yypos1477; G->thunkpos= yythunkpos1477; - } if (!yy_Sp(G)) { goto l1475; } if (!yy_Newline(G)) { goto l1475; } goto l1473; - l1475:; G->pos= yypos1475; G->thunkpos= yythunkpos1475; - } if (!yy_Inline(G)) { goto l1473; } + { int yypos1501= G->pos, yythunkpos1501= G->thunkpos; if (!yy_Sp(G)) { goto l1501; } + l1502:; + { int yypos1503= G->pos, yythunkpos1503= G->thunkpos; if (!yymatchChar(G, '#')) goto l1503; goto l1502; + l1503:; G->pos= yypos1503; G->thunkpos= yythunkpos1503; + } if (!yy_Sp(G)) { goto l1501; } if (!yy_Newline(G)) { goto l1501; } goto l1499; + l1501:; G->pos= yypos1501; G->thunkpos= yythunkpos1501; + } if (!yy_Inline(G)) { goto l1499; } yyprintf((stderr, " ok %s @ %s\n", "AtxInline", G->buf+G->pos)); return 1; - l1473:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1499:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "AtxInline", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Inlines(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Inlines")); - { int yypos1481= G->pos, yythunkpos1481= G->thunkpos; - { int yypos1483= G->pos, yythunkpos1483= G->thunkpos; if (!yy_Endline(G)) { goto l1483; } goto l1482; - l1483:; G->pos= yypos1483; G->thunkpos= yythunkpos1483; - } if (!yy_Inline(G)) { goto l1482; } goto l1481; - l1482:; G->pos= yypos1481; G->thunkpos= yythunkpos1481; if (!yy_Endline(G)) { goto l1478; } - { int yypos1484= G->pos, yythunkpos1484= G->thunkpos; if (!yy_Inline(G)) { goto l1478; } G->pos= yypos1484; G->thunkpos= yythunkpos1484; + { int yypos1507= G->pos, yythunkpos1507= G->thunkpos; + { int yypos1509= G->pos, yythunkpos1509= G->thunkpos; if (!yy_Endline(G)) { goto l1509; } goto l1508; + l1509:; G->pos= yypos1509; G->thunkpos= yythunkpos1509; + } if (!yy_Inline(G)) { goto l1508; } goto l1507; + l1508:; G->pos= yypos1507; G->thunkpos= yythunkpos1507; if (!yy_Endline(G)) { goto l1504; } + { int yypos1510= G->pos, yythunkpos1510= G->thunkpos; if (!yy_Inline(G)) { goto l1504; } G->pos= yypos1510; G->thunkpos= yythunkpos1510; } } - l1481:; - l1479:; - { int yypos1480= G->pos, yythunkpos1480= G->thunkpos; - { int yypos1485= G->pos, yythunkpos1485= G->thunkpos; - { int yypos1487= G->pos, yythunkpos1487= G->thunkpos; if (!yy_Endline(G)) { goto l1487; } goto l1486; - l1487:; G->pos= yypos1487; G->thunkpos= yythunkpos1487; - } if (!yy_Inline(G)) { goto l1486; } goto l1485; - l1486:; G->pos= yypos1485; G->thunkpos= yythunkpos1485; if (!yy_Endline(G)) { goto l1480; } - { int yypos1488= G->pos, yythunkpos1488= G->thunkpos; if (!yy_Inline(G)) { goto l1480; } G->pos= yypos1488; G->thunkpos= yythunkpos1488; + l1507:; + l1505:; + { int yypos1506= G->pos, yythunkpos1506= G->thunkpos; + { int yypos1511= G->pos, yythunkpos1511= G->thunkpos; + { int yypos1513= G->pos, yythunkpos1513= G->thunkpos; if (!yy_Endline(G)) { goto l1513; } goto l1512; + l1513:; G->pos= yypos1513; G->thunkpos= yythunkpos1513; + } if (!yy_Inline(G)) { goto l1512; } goto l1511; + l1512:; G->pos= yypos1511; G->thunkpos= yythunkpos1511; if (!yy_Endline(G)) { goto l1506; } + { int yypos1514= G->pos, yythunkpos1514= G->thunkpos; if (!yy_Inline(G)) { goto l1506; } G->pos= yypos1514; G->thunkpos= yythunkpos1514; } } - l1485:; goto l1479; - l1480:; G->pos= yypos1480; G->thunkpos= yythunkpos1480; + l1511:; goto l1505; + l1506:; G->pos= yypos1506; G->thunkpos= yythunkpos1506; } - { int yypos1489= G->pos, yythunkpos1489= G->thunkpos; if (!yy_Endline(G)) { goto l1489; } goto l1490; - l1489:; G->pos= yypos1489; G->thunkpos= yythunkpos1489; + { int yypos1515= G->pos, yythunkpos1515= G->thunkpos; if (!yy_Endline(G)) { goto l1515; } goto l1516; + l1515:; G->pos= yypos1515; G->thunkpos= yythunkpos1515; } - l1490:; + l1516:; yyprintf((stderr, " ok %s @ %s\n", "Inlines", G->buf+G->pos)); return 1; - l1478:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1504:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Inlines", G->buf+G->pos)); return 0; } YY_RULE(int) yy_NonindentSpace(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "NonindentSpace")); - { int yypos1492= G->pos, yythunkpos1492= G->thunkpos; if (!yymatchString(G, " ")) goto l1493; goto l1492; - l1493:; G->pos= yypos1492; G->thunkpos= yythunkpos1492; if (!yymatchString(G, " ")) goto l1494; goto l1492; - l1494:; G->pos= yypos1492; G->thunkpos= yythunkpos1492; if (!yymatchChar(G, ' ')) goto l1495; goto l1492; - l1495:; G->pos= yypos1492; G->thunkpos= yythunkpos1492; if (!yymatchString(G, "")) goto l1491; + { int yypos1518= G->pos, yythunkpos1518= G->thunkpos; if (!yymatchString(G, " ")) goto l1519; goto l1518; + l1519:; G->pos= yypos1518; G->thunkpos= yythunkpos1518; if (!yymatchString(G, " ")) goto l1520; goto l1518; + l1520:; G->pos= yypos1518; G->thunkpos= yythunkpos1518; if (!yymatchChar(G, ' ')) goto l1521; goto l1518; + l1521:; G->pos= yypos1518; G->thunkpos= yythunkpos1518; if (!yymatchString(G, "")) goto l1517; } - l1492:; + l1518:; yyprintf((stderr, " ok %s @ %s\n", "NonindentSpace", G->buf+G->pos)); return 1; - l1491:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1517:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "NonindentSpace", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Plain(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Plain")); if (!yy_Inlines(G)) { goto l1496; } + yyprintf((stderr, "%s\n", "Plain")); if (!yy_Inlines(G)) { goto l1522; } yyprintf((stderr, " ok %s @ %s\n", "Plain", G->buf+G->pos)); return 1; - l1496:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1522:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Plain", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Para(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Para")); if (!yy_NonindentSpace(G)) { goto l1497; } if (!yy_Inlines(G)) { goto l1497; } if (!yy_BlankLine(G)) { goto l1497; } - l1498:; - { int yypos1499= G->pos, yythunkpos1499= G->thunkpos; if (!yy_BlankLine(G)) { goto l1499; } goto l1498; - l1499:; G->pos= yypos1499; G->thunkpos= yythunkpos1499; + yyprintf((stderr, "%s\n", "Para")); if (!yy_NonindentSpace(G)) { goto l1523; } if (!yy_Inlines(G)) { goto l1523; } if (!yy_BlankLine(G)) { goto l1523; } + l1524:; + { int yypos1525= G->pos, yythunkpos1525= G->thunkpos; if (!yy_BlankLine(G)) { goto l1525; } goto l1524; + l1525:; G->pos= yypos1525; G->thunkpos= yythunkpos1525; } yyprintf((stderr, " ok %s @ %s\n", "Para", G->buf+G->pos)); return 1; - l1497:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1523:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Para", G->buf+G->pos)); return 0; } YY_RULE(int) yy_StyleBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "StyleBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1500; if (!yy_LocMarker(G)) { goto l1500; } yyDo(G, yySet, -1, 0); if (!yy_InStyleTags(G)) { goto l1500; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1500; - l1501:; - { int yypos1502= G->pos, yythunkpos1502= G->thunkpos; if (!yy_BlankLine(G)) { goto l1502; } goto l1501; - l1502:; G->pos= yypos1502; G->thunkpos= yythunkpos1502; + yyprintf((stderr, "%s\n", "StyleBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1526; if (!yy_LocMarker(G)) { goto l1526; } yyDo(G, yySet, -1, 0); if (!yy_InStyleTags(G)) { goto l1526; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1526; + l1527:; + { int yypos1528= G->pos, yythunkpos1528= G->thunkpos; if (!yy_BlankLine(G)) { goto l1528; } goto l1527; + l1528:; G->pos= yypos1528; G->thunkpos= yythunkpos1528; } yyDo(G, yy_1_StyleBlock, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "StyleBlock", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1500:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1526:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "StyleBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_HtmlBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "HtmlBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1503; if (!yy_LocMarker(G)) { goto l1503; } yyDo(G, yySet, -1, 0); - { int yypos1504= G->pos, yythunkpos1504= G->thunkpos; if (!yy_HtmlBlockInTags(G)) { goto l1505; } goto l1504; - l1505:; G->pos= yypos1504; G->thunkpos= yythunkpos1504; if (!yy_HtmlComment(G)) { goto l1506; } goto l1504; - l1506:; G->pos= yypos1504; G->thunkpos= yythunkpos1504; if (!yy_HtmlBlockSelfClosing(G)) { goto l1503; } + yyprintf((stderr, "%s\n", "HtmlBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1529; if (!yy_LocMarker(G)) { goto l1529; } yyDo(G, yySet, -1, 0); + { int yypos1530= G->pos, yythunkpos1530= G->thunkpos; if (!yy_HtmlBlockInTags(G)) { goto l1531; } goto l1530; + l1531:; G->pos= yypos1530; G->thunkpos= yythunkpos1530; if (!yy_HtmlComment(G)) { goto l1532; } goto l1530; + l1532:; G->pos= yypos1530; G->thunkpos= yythunkpos1530; if (!yy_HtmlBlockSelfClosing(G)) { goto l1529; } } - l1504:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1503; if (!yy_BlankLine(G)) { goto l1503; } - l1507:; - { int yypos1508= G->pos, yythunkpos1508= G->thunkpos; if (!yy_BlankLine(G)) { goto l1508; } goto l1507; - l1508:; G->pos= yypos1508; G->thunkpos= yythunkpos1508; + l1530:; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1529; if (!yy_BlankLine(G)) { goto l1529; } + l1533:; + { int yypos1534= G->pos, yythunkpos1534= G->thunkpos; if (!yy_BlankLine(G)) { goto l1534; } goto l1533; + l1534:; G->pos= yypos1534; G->thunkpos= yythunkpos1534; } yyDo(G, yy_1_HtmlBlock, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "HtmlBlock", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1503:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1529:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HtmlBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_BulletList(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "BulletList")); - { int yypos1510= G->pos, yythunkpos1510= G->thunkpos; if (!yy_Bullet(G)) { goto l1509; } G->pos= yypos1510; G->thunkpos= yythunkpos1510; + { int yypos1536= G->pos, yythunkpos1536= G->thunkpos; if (!yy_Bullet(G)) { goto l1535; } G->pos= yypos1536; G->thunkpos= yythunkpos1536; } - { int yypos1511= G->pos, yythunkpos1511= G->thunkpos; if (!yy_ListTight(G)) { goto l1512; } goto l1511; - l1512:; G->pos= yypos1511; G->thunkpos= yythunkpos1511; if (!yy_ListLoose(G)) { goto l1509; } + { int yypos1537= G->pos, yythunkpos1537= G->thunkpos; if (!yy_ListTight(G)) { goto l1538; } goto l1537; + l1538:; G->pos= yypos1537; G->thunkpos= yythunkpos1537; if (!yy_ListLoose(G)) { goto l1535; } } - l1511:; + l1537:; yyprintf((stderr, " ok %s @ %s\n", "BulletList", G->buf+G->pos)); return 1; - l1509:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1535:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BulletList", G->buf+G->pos)); return 0; } YY_RULE(int) yy_OrderedList(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "OrderedList")); - { int yypos1514= G->pos, yythunkpos1514= G->thunkpos; if (!yy_Enumerator(G)) { goto l1513; } G->pos= yypos1514; G->thunkpos= yythunkpos1514; + { int yypos1540= G->pos, yythunkpos1540= G->thunkpos; if (!yy_Enumerator(G)) { goto l1539; } G->pos= yypos1540; G->thunkpos= yythunkpos1540; } - { int yypos1515= G->pos, yythunkpos1515= G->thunkpos; if (!yy_ListTight(G)) { goto l1516; } goto l1515; - l1516:; G->pos= yypos1515; G->thunkpos= yythunkpos1515; if (!yy_ListLoose(G)) { goto l1513; } + { int yypos1541= G->pos, yythunkpos1541= G->thunkpos; if (!yy_ListTight(G)) { goto l1542; } goto l1541; + l1542:; G->pos= yypos1541; G->thunkpos= yythunkpos1541; if (!yy_ListLoose(G)) { goto l1539; } } - l1515:; + l1541:; yyprintf((stderr, " ok %s @ %s\n", "OrderedList", G->buf+G->pos)); return 1; - l1513:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1539:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "OrderedList", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Heading(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Heading")); - { int yypos1518= G->pos, yythunkpos1518= G->thunkpos; if (!yy_SetextHeading(G)) { goto l1519; } goto l1518; - l1519:; G->pos= yypos1518; G->thunkpos= yythunkpos1518; if (!yy_AtxHeading(G)) { goto l1517; } + { int yypos1544= G->pos, yythunkpos1544= G->thunkpos; if (!yy_SetextHeading(G)) { goto l1545; } goto l1544; + l1545:; G->pos= yypos1544; G->thunkpos= yythunkpos1544; if (!yy_AtxHeading(G)) { goto l1543; } } - l1518:; + l1544:; yyprintf((stderr, " ok %s @ %s\n", "Heading", G->buf+G->pos)); return 1; - l1517:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1543:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Heading", G->buf+G->pos)); return 0; } YY_RULE(int) yy_HorizontalRule(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "HorizontalRule")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1520; if (!yy_NonindentSpace(G)) { goto l1520; } - { int yypos1521= G->pos, yythunkpos1521= G->thunkpos; if (!yymatchChar(G, '*')) goto l1522; if (!yy_Sp(G)) { goto l1522; } if (!yymatchChar(G, '*')) goto l1522; if (!yy_Sp(G)) { goto l1522; } if (!yymatchChar(G, '*')) goto l1522; - l1523:; - { int yypos1524= G->pos, yythunkpos1524= G->thunkpos; if (!yy_Sp(G)) { goto l1524; } if (!yymatchChar(G, '*')) goto l1524; goto l1523; - l1524:; G->pos= yypos1524; G->thunkpos= yythunkpos1524; - } goto l1521; - l1522:; G->pos= yypos1521; G->thunkpos= yythunkpos1521; if (!yymatchChar(G, '-')) goto l1525; if (!yy_Sp(G)) { goto l1525; } if (!yymatchChar(G, '-')) goto l1525; if (!yy_Sp(G)) { goto l1525; } if (!yymatchChar(G, '-')) goto l1525; - l1526:; - { int yypos1527= G->pos, yythunkpos1527= G->thunkpos; if (!yy_Sp(G)) { goto l1527; } if (!yymatchChar(G, '-')) goto l1527; goto l1526; - l1527:; G->pos= yypos1527; G->thunkpos= yythunkpos1527; - } goto l1521; - l1525:; G->pos= yypos1521; G->thunkpos= yythunkpos1521; if (!yymatchChar(G, '_')) goto l1520; if (!yy_Sp(G)) { goto l1520; } if (!yymatchChar(G, '_')) goto l1520; if (!yy_Sp(G)) { goto l1520; } if (!yymatchChar(G, '_')) goto l1520; - l1528:; - { int yypos1529= G->pos, yythunkpos1529= G->thunkpos; if (!yy_Sp(G)) { goto l1529; } if (!yymatchChar(G, '_')) goto l1529; goto l1528; - l1529:; G->pos= yypos1529; G->thunkpos= yythunkpos1529; + yyprintf((stderr, "%s\n", "HorizontalRule")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1546; if (!yy_NonindentSpace(G)) { goto l1546; } + { int yypos1547= G->pos, yythunkpos1547= G->thunkpos; if (!yymatchChar(G, '*')) goto l1548; if (!yy_Sp(G)) { goto l1548; } if (!yymatchChar(G, '*')) goto l1548; if (!yy_Sp(G)) { goto l1548; } if (!yymatchChar(G, '*')) goto l1548; + l1549:; + { int yypos1550= G->pos, yythunkpos1550= G->thunkpos; if (!yy_Sp(G)) { goto l1550; } if (!yymatchChar(G, '*')) goto l1550; goto l1549; + l1550:; G->pos= yypos1550; G->thunkpos= yythunkpos1550; + } goto l1547; + l1548:; G->pos= yypos1547; G->thunkpos= yythunkpos1547; if (!yymatchChar(G, '-')) goto l1551; if (!yy_Sp(G)) { goto l1551; } if (!yymatchChar(G, '-')) goto l1551; if (!yy_Sp(G)) { goto l1551; } if (!yymatchChar(G, '-')) goto l1551; + l1552:; + { int yypos1553= G->pos, yythunkpos1553= G->thunkpos; if (!yy_Sp(G)) { goto l1553; } if (!yymatchChar(G, '-')) goto l1553; goto l1552; + l1553:; G->pos= yypos1553; G->thunkpos= yythunkpos1553; + } goto l1547; + l1551:; G->pos= yypos1547; G->thunkpos= yythunkpos1547; if (!yymatchChar(G, '_')) goto l1546; if (!yy_Sp(G)) { goto l1546; } if (!yymatchChar(G, '_')) goto l1546; if (!yy_Sp(G)) { goto l1546; } if (!yymatchChar(G, '_')) goto l1546; + l1554:; + { int yypos1555= G->pos, yythunkpos1555= G->thunkpos; if (!yy_Sp(G)) { goto l1555; } if (!yymatchChar(G, '_')) goto l1555; goto l1554; + l1555:; G->pos= yypos1555; G->thunkpos= yythunkpos1555; } } - l1521:; if (!yy_Sp(G)) { goto l1520; } if (!yy_Newline(G)) { goto l1520; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1520; yyDo(G, yy_1_HorizontalRule, G->begin, G->end); + l1547:; if (!yy_Sp(G)) { goto l1546; } if (!yy_Newline(G)) { goto l1546; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1546; yyDo(G, yy_1_HorizontalRule, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "HorizontalRule", G->buf+G->pos)); return 1; - l1520:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1546:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "HorizontalRule", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Reference(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 3, 0); - yyprintf((stderr, "%s\n", "Reference")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1530; if (!yy_LocMarker(G)) { goto l1530; } yyDo(G, yySet, -3, 0); if (!yy_NonindentSpace(G)) { goto l1530; } - { int yypos1531= G->pos, yythunkpos1531= G->thunkpos; if (!yymatchString(G, "[]")) goto l1531; goto l1530; - l1531:; G->pos= yypos1531; G->thunkpos= yythunkpos1531; - } if (!yy_Label(G)) { goto l1530; } yyDo(G, yySet, -2, 0); if (!yymatchChar(G, ':')) goto l1530; if (!yy_Spnl(G)) { goto l1530; } if (!yy_RefSrc(G)) { goto l1530; } yyDo(G, yySet, -1, 0); if (!yy_RefTitle(G)) { goto l1530; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1530; if (!yy_BlankLine(G)) { goto l1530; } - l1532:; - { int yypos1533= G->pos, yythunkpos1533= G->thunkpos; if (!yy_BlankLine(G)) { goto l1533; } goto l1532; - l1533:; G->pos= yypos1533; G->thunkpos= yythunkpos1533; + yyprintf((stderr, "%s\n", "Reference")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1556; if (!yy_LocMarker(G)) { goto l1556; } yyDo(G, yySet, -3, 0); if (!yy_NonindentSpace(G)) { goto l1556; } + { int yypos1557= G->pos, yythunkpos1557= G->thunkpos; if (!yymatchString(G, "[]")) goto l1557; goto l1556; + l1557:; G->pos= yypos1557; G->thunkpos= yythunkpos1557; + } if (!yy_Label(G)) { goto l1556; } yyDo(G, yySet, -2, 0); if (!yymatchChar(G, ':')) goto l1556; if (!yy_Spnl(G)) { goto l1556; } if (!yy_RefSrc(G)) { goto l1556; } yyDo(G, yySet, -1, 0); if (!yy_RefTitle(G)) { goto l1556; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1556; if (!yy_BlankLine(G)) { goto l1556; } + l1558:; + { int yypos1559= G->pos, yythunkpos1559= G->thunkpos; if (!yy_BlankLine(G)) { goto l1559; } goto l1558; + l1559:; G->pos= yypos1559; G->thunkpos= yythunkpos1559; } yyDo(G, yy_1_Reference, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Reference", G->buf+G->pos)); yyDo(G, yyPop, 3, 0); return 1; - l1530:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1556:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Reference", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Note(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "Note")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_NOTES) )) goto l1534; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1534; if (!yy_LocMarker(G)) { goto l1534; } yyDo(G, yySet, -1, 0); if (!yy_NonindentSpace(G)) { goto l1534; } if (!yy_RawNoteReference(G)) { goto l1534; } if (!yymatchChar(G, ':')) goto l1534; if (!yy_Sp(G)) { goto l1534; } if (!yy_RawNoteBlock(G)) { goto l1534; } - l1535:; - { int yypos1536= G->pos, yythunkpos1536= G->thunkpos; - { int yypos1537= G->pos, yythunkpos1537= G->thunkpos; if (!yy_Indent(G)) { goto l1536; } G->pos= yypos1537; G->thunkpos= yythunkpos1537; - } if (!yy_RawNoteBlock(G)) { goto l1536; } goto l1535; - l1536:; G->pos= yypos1536; G->thunkpos= yythunkpos1536; - } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1534; yyDo(G, yy_1_Note, G->begin, G->end); + yyprintf((stderr, "%s\n", "Note")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_NOTES) )) goto l1560; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1560; if (!yy_LocMarker(G)) { goto l1560; } yyDo(G, yySet, -1, 0); if (!yy_NonindentSpace(G)) { goto l1560; } if (!yy_RawNoteReference(G)) { goto l1560; } if (!yymatchChar(G, ':')) goto l1560; if (!yy_Sp(G)) { goto l1560; } if (!yy_RawNoteBlock(G)) { goto l1560; } + l1561:; + { int yypos1562= G->pos, yythunkpos1562= G->thunkpos; + { int yypos1563= G->pos, yythunkpos1563= G->thunkpos; if (!yy_Indent(G)) { goto l1562; } G->pos= yypos1563; G->thunkpos= yythunkpos1563; + } if (!yy_RawNoteBlock(G)) { goto l1562; } goto l1561; + l1562:; G->pos= yypos1562; G->thunkpos= yythunkpos1562; + } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1560; yyDo(G, yy_1_Note, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Note", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1534:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1560:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Note", G->buf+G->pos)); return 0; } YY_RULE(int) yy_DisplayFormula(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "DisplayFormula")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_MATH) )) goto l1538; if (!yy_NonindentSpace(G)) { goto l1538; } yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1538; if (!yymatchString(G, "$$")) goto l1538; - l1539:; - { int yypos1540= G->pos, yythunkpos1540= G->thunkpos; - { int yypos1541= G->pos, yythunkpos1541= G->thunkpos; if (!yymatchChar(G, '$')) goto l1541; goto l1540; - l1541:; G->pos= yypos1541; G->thunkpos= yythunkpos1541; - } if (!yymatchDot(G)) goto l1540; goto l1539; - l1540:; G->pos= yypos1540; G->thunkpos= yythunkpos1540; - } if (!yymatchString(G, "$$")) goto l1538; yyText(G, G->begin, G->end); if (!(YY_END)) goto l1538; if (!yy_Sp(G)) { goto l1538; } - { int yypos1542= G->pos, yythunkpos1542= G->thunkpos; if (!yy_FormulaNumber(G)) { goto l1542; } goto l1543; - l1542:; G->pos= yypos1542; G->thunkpos= yythunkpos1542; + yyprintf((stderr, "%s\n", "DisplayFormula")); yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_MATH) )) goto l1564; + { int yypos1565= G->pos, yythunkpos1565= G->thunkpos; if (!yy_DisplayFormulaDollar(G)) { goto l1566; } goto l1565; + l1566:; G->pos= yypos1565; G->thunkpos= yythunkpos1565; if (!yy_DisplayFormulaRaw(G)) { goto l1564; } } - l1543:; if (!yy_Sp(G)) { goto l1538; } if (!yy_Newline(G)) { goto l1538; } yyDo(G, yy_1_DisplayFormula, G->begin, G->end); + l1565:; yyprintf((stderr, " ok %s @ %s\n", "DisplayFormula", G->buf+G->pos)); return 1; - l1538:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1564:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "DisplayFormula", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FencedCodeBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "FencedCodeBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1544; if (!yy_LocMarker(G)) { goto l1544; } yyDo(G, yySet, -1, 0); if (!yy_FencedCodeBlockStart(G)) { goto l1544; } - l1545:; - { int yypos1546= G->pos, yythunkpos1546= G->thunkpos; if (!yy_FencedCodeBlockChunk(G)) { goto l1546; } goto l1545; - l1546:; G->pos= yypos1546; G->thunkpos= yythunkpos1546; - } if (!yy_FencedCodeBlockEnd(G)) { goto l1544; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1544; yyDo(G, yy_1_FencedCodeBlock, G->begin, G->end); + yyprintf((stderr, "%s\n", "FencedCodeBlock")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1567; if (!yy_LocMarker(G)) { goto l1567; } yyDo(G, yySet, -1, 0); if (!yy_FencedCodeBlockStart(G)) { goto l1567; } + l1568:; + { int yypos1569= G->pos, yythunkpos1569= G->thunkpos; if (!yy_FencedCodeBlockChunk(G)) { goto l1569; } goto l1568; + l1569:; G->pos= yypos1569; G->thunkpos= yythunkpos1569; + } if (!yy_FencedCodeBlockEnd(G)) { goto l1567; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1567; yyDo(G, yy_1_FencedCodeBlock, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "FencedCodeBlock", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1544:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1567:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FencedCodeBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Verbatim(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "Verbatim")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1547; if (!yy_LocMarker(G)) { goto l1547; } yyDo(G, yySet, -1, 0); if (!yy_VerbatimChunk(G)) { goto l1547; } - l1548:; - { int yypos1549= G->pos, yythunkpos1549= G->thunkpos; if (!yy_VerbatimChunk(G)) { goto l1549; } goto l1548; - l1549:; G->pos= yypos1549; G->thunkpos= yythunkpos1549; - } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1547; yyDo(G, yy_1_Verbatim, G->begin, G->end); + yyprintf((stderr, "%s\n", "Verbatim")); yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1570; if (!yy_LocMarker(G)) { goto l1570; } yyDo(G, yySet, -1, 0); if (!yy_VerbatimChunk(G)) { goto l1570; } + l1571:; + { int yypos1572= G->pos, yythunkpos1572= G->thunkpos; if (!yy_VerbatimChunk(G)) { goto l1572; } goto l1571; + l1572:; G->pos= yypos1572; G->thunkpos= yythunkpos1572; + } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1570; yyDo(G, yy_1_Verbatim, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "Verbatim", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1547:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1570:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Verbatim", G->buf+G->pos)); return 0; } YY_RULE(int) yy_BlockQuote(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "BlockQuote")); if (!yy_BlockQuoteRaw(G)) { goto l1550; } yyDo(G, yySet, -1, 0); yyDo(G, yy_1_BlockQuote, G->begin, G->end); + yyprintf((stderr, "%s\n", "BlockQuote")); if (!yy_BlockQuoteRaw(G)) { goto l1573; } yyDo(G, yySet, -1, 0); yyDo(G, yy_1_BlockQuote, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "BlockQuote", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1550:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1573:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlockQuote", G->buf+G->pos)); return 0; } YY_RULE(int) yy_BlankLine(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "BlankLine")); if (!yy_Sp(G)) { goto l1551; } if (!yy_Newline(G)) { goto l1551; } + yyprintf((stderr, "%s\n", "BlankLine")); if (!yy_Sp(G)) { goto l1574; } if (!yy_Newline(G)) { goto l1574; } yyprintf((stderr, " ok %s @ %s\n", "BlankLine", G->buf+G->pos)); return 1; - l1551:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1574:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "BlankLine", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FrontMatterEndMark(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "FrontMatterEndMark")); - { int yypos1553= G->pos, yythunkpos1553= G->thunkpos; if (!yymatchString(G, "---")) goto l1554; goto l1553; - l1554:; G->pos= yypos1553; G->thunkpos= yythunkpos1553; if (!yymatchString(G, "...")) goto l1552; + { int yypos1576= G->pos, yythunkpos1576= G->thunkpos; if (!yymatchString(G, "---")) goto l1577; goto l1576; + l1577:; G->pos= yypos1576; G->thunkpos= yythunkpos1576; if (!yymatchString(G, "...")) goto l1575; } - l1553:; + l1576:; yyprintf((stderr, " ok %s @ %s\n", "FrontMatterEndMark", G->buf+G->pos)); return 1; - l1552:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1575:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FrontMatterEndMark", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FrontMatterBlock(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "FrontMatterBlock")); - { int yypos1556= G->pos, yythunkpos1556= G->thunkpos; if (!yy_FrontMatterEndMark(G)) { goto l1556; } goto l1555; - l1556:; G->pos= yypos1556; G->thunkpos= yythunkpos1556; + { int yypos1579= G->pos, yythunkpos1579= G->thunkpos; if (!yy_FrontMatterEndMark(G)) { goto l1579; } goto l1578; + l1579:; G->pos= yypos1579; G->thunkpos= yythunkpos1579; } - l1557:; - { int yypos1558= G->pos, yythunkpos1558= G->thunkpos; - { int yypos1559= G->pos, yythunkpos1559= G->thunkpos; if (!yy_Newline(G)) { goto l1559; } goto l1558; - l1559:; G->pos= yypos1559; G->thunkpos= yythunkpos1559; - } if (!yymatchDot(G)) goto l1558; goto l1557; - l1558:; G->pos= yypos1558; G->thunkpos= yythunkpos1558; - } if (!yy_Newline(G)) { goto l1555; } + l1580:; + { int yypos1581= G->pos, yythunkpos1581= G->thunkpos; + { int yypos1582= G->pos, yythunkpos1582= G->thunkpos; if (!yy_Newline(G)) { goto l1582; } goto l1581; + l1582:; G->pos= yypos1582; G->thunkpos= yythunkpos1582; + } if (!yymatchDot(G)) goto l1581; goto l1580; + l1581:; G->pos= yypos1581; G->thunkpos= yythunkpos1581; + } if (!yy_Newline(G)) { goto l1578; } yyprintf((stderr, " ok %s @ %s\n", "FrontMatterBlock", G->buf+G->pos)); return 1; - l1555:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1578:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FrontMatterBlock", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Newline(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Newline")); - { int yypos1561= G->pos, yythunkpos1561= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1562; goto l1561; - l1562:; G->pos= yypos1561; G->thunkpos= yythunkpos1561; if (!yymatchChar(G, '\r')) goto l1560; - { int yypos1563= G->pos, yythunkpos1563= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1563; goto l1564; - l1563:; G->pos= yypos1563; G->thunkpos= yythunkpos1563; + { int yypos1584= G->pos, yythunkpos1584= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1585; goto l1584; + l1585:; G->pos= yypos1584; G->thunkpos= yythunkpos1584; if (!yymatchChar(G, '\r')) goto l1583; + { int yypos1586= G->pos, yythunkpos1586= G->thunkpos; if (!yymatchChar(G, '\n')) goto l1586; goto l1587; + l1586:; G->pos= yypos1586; G->thunkpos= yythunkpos1586; } - l1564:; + l1587:; } - l1561:; + l1584:; yyprintf((stderr, " ok %s @ %s\n", "Newline", G->buf+G->pos)); return 1; - l1560:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1583:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Newline", G->buf+G->pos)); return 0; } YY_RULE(int) yy_LocMarker(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "LocMarker")); - { int yypos1566= G->pos, yythunkpos1566= G->thunkpos; if (!yymatchDot(G)) goto l1565; G->pos= yypos1566; G->thunkpos= yythunkpos1566; + { int yypos1589= G->pos, yythunkpos1589= G->thunkpos; if (!yymatchDot(G)) goto l1588; G->pos= yypos1589; G->thunkpos= yythunkpos1589; } yyDo(G, yy_1_LocMarker, G->begin, G->end); yyprintf((stderr, " ok %s @ %s\n", "LocMarker", G->buf+G->pos)); return 1; - l1565:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1588:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "LocMarker", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Block(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyprintf((stderr, "%s\n", "Block")); - l1568:; - { int yypos1569= G->pos, yythunkpos1569= G->thunkpos; if (!yy_BlankLine(G)) { goto l1569; } goto l1568; - l1569:; G->pos= yypos1569; G->thunkpos= yythunkpos1569; + l1591:; + { int yypos1592= G->pos, yythunkpos1592= G->thunkpos; if (!yy_BlankLine(G)) { goto l1592; } goto l1591; + l1592:; G->pos= yypos1592; G->thunkpos= yythunkpos1592; } - { int yypos1570= G->pos, yythunkpos1570= G->thunkpos; if (!yy_BlockQuote(G)) { goto l1571; } goto l1570; - l1571:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Verbatim(G)) { goto l1572; } goto l1570; - l1572:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_FencedCodeBlock(G)) { goto l1573; } goto l1570; - l1573:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_DisplayFormula(G)) { goto l1574; } goto l1570; - l1574:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Note(G)) { goto l1575; } goto l1570; - l1575:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Reference(G)) { goto l1576; } goto l1570; - l1576:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_HorizontalRule(G)) { goto l1577; } goto l1570; - l1577:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Heading(G)) { goto l1578; } goto l1570; - l1578:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_OrderedList(G)) { goto l1579; } goto l1570; - l1579:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_BulletList(G)) { goto l1580; } goto l1570; - l1580:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_HtmlBlock(G)) { goto l1581; } goto l1570; - l1581:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_StyleBlock(G)) { goto l1582; } goto l1570; - l1582:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Para(G)) { goto l1583; } goto l1570; - l1583:; G->pos= yypos1570; G->thunkpos= yythunkpos1570; if (!yy_Plain(G)) { goto l1567; } + { int yypos1593= G->pos, yythunkpos1593= G->thunkpos; if (!yy_BlockQuote(G)) { goto l1594; } goto l1593; + l1594:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Verbatim(G)) { goto l1595; } goto l1593; + l1595:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_FencedCodeBlock(G)) { goto l1596; } goto l1593; + l1596:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_DisplayFormula(G)) { goto l1597; } goto l1593; + l1597:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Note(G)) { goto l1598; } goto l1593; + l1598:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Reference(G)) { goto l1599; } goto l1593; + l1599:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_HorizontalRule(G)) { goto l1600; } goto l1593; + l1600:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Heading(G)) { goto l1601; } goto l1593; + l1601:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_OrderedList(G)) { goto l1602; } goto l1593; + l1602:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_BulletList(G)) { goto l1603; } goto l1593; + l1603:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_HtmlBlock(G)) { goto l1604; } goto l1593; + l1604:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_StyleBlock(G)) { goto l1605; } goto l1593; + l1605:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Para(G)) { goto l1606; } goto l1593; + l1606:; G->pos= yypos1593; G->thunkpos= yythunkpos1593; if (!yy_Plain(G)) { goto l1590; } } - l1570:; + l1593:; yyprintf((stderr, " ok %s @ %s\n", "Block", G->buf+G->pos)); return 1; - l1567:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1590:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Block", G->buf+G->pos)); return 0; } YY_RULE(int) yy_FrontMatter(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; yyDo(G, yyPush, 1, 0); - yyprintf((stderr, "%s\n", "FrontMatter")); if (!yy_LocMarker(G)) { goto l1584; } yyDo(G, yySet, -1, 0); - { int yypos1585= G->pos, yythunkpos1585= G->thunkpos; yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_FRONTMATTER) )) goto l1585; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1585; if (!yymatchString(G, "---")) goto l1585; if (!yy_Newline(G)) { goto l1585; } - l1587:; - { int yypos1588= G->pos, yythunkpos1588= G->thunkpos; if (!yy_FrontMatterBlock(G)) { goto l1588; } goto l1587; - l1588:; G->pos= yypos1588; G->thunkpos= yythunkpos1588; - } if (!yy_FrontMatterEndMark(G)) { goto l1585; } if (!yy_Newline(G)) { goto l1585; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1585; yyDo(G, yy_1_FrontMatter, G->begin, G->end); goto l1586; - l1585:; G->pos= yypos1585; G->thunkpos= yythunkpos1585; + yyprintf((stderr, "%s\n", "FrontMatter")); if (!yy_LocMarker(G)) { goto l1607; } yyDo(G, yySet, -1, 0); + { int yypos1608= G->pos, yythunkpos1608= G->thunkpos; yyText(G, G->begin, G->end); if (!( EXT(pmh_EXT_FRONTMATTER) )) goto l1608; yyText(G, G->begin, G->end); if (!(YY_BEGIN)) goto l1608; if (!yymatchString(G, "---")) goto l1608; if (!yy_Newline(G)) { goto l1608; } + l1610:; + { int yypos1611= G->pos, yythunkpos1611= G->thunkpos; if (!yy_FrontMatterBlock(G)) { goto l1611; } goto l1610; + l1611:; G->pos= yypos1611; G->thunkpos= yythunkpos1611; + } if (!yy_FrontMatterEndMark(G)) { goto l1608; } if (!yy_Newline(G)) { goto l1608; } yyText(G, G->begin, G->end); if (!(YY_END)) goto l1608; yyDo(G, yy_1_FrontMatter, G->begin, G->end); goto l1609; + l1608:; G->pos= yypos1608; G->thunkpos= yythunkpos1608; } - l1586:; + l1609:; yyprintf((stderr, " ok %s @ %s\n", "FrontMatter", G->buf+G->pos)); yyDo(G, yyPop, 1, 0); return 1; - l1584:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1607:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "FrontMatter", G->buf+G->pos)); return 0; } YY_RULE(int) yy_Doc(GREG *G) { int yypos0= G->pos, yythunkpos0= G->thunkpos; - yyprintf((stderr, "%s\n", "Doc")); if (!yy_FrontMatter(G)) { goto l1589; } - l1590:; - { int yypos1591= G->pos, yythunkpos1591= G->thunkpos; if (!yy_Block(G)) { goto l1591; } goto l1590; - l1591:; G->pos= yypos1591; G->thunkpos= yythunkpos1591; + yyprintf((stderr, "%s\n", "Doc")); if (!yy_FrontMatter(G)) { goto l1612; } + l1613:; + { int yypos1614= G->pos, yythunkpos1614= G->thunkpos; if (!yy_Block(G)) { goto l1614; } goto l1613; + l1614:; G->pos= yypos1614; G->thunkpos= yythunkpos1614; } yyprintf((stderr, " ok %s @ %s\n", "Doc", G->buf+G->pos)); return 1; - l1589:; G->pos= yypos0; G->thunkpos= yythunkpos0; + l1612:; G->pos= yypos0; G->thunkpos= yythunkpos0; yyprintf((stderr, " fail %s @ %s\n", "Doc", G->buf+G->pos)); return 0; } diff --git a/src/peghighlighterresult.cpp b/src/peghighlighterresult.cpp index 2fee9a12..050ee75b 100644 --- a/src/peghighlighterresult.cpp +++ b/src/peghighlighterresult.cpp @@ -267,6 +267,16 @@ void PegHighlighterResult::parseFencedCodeBlocks(const PegMarkdownHighlighter *p } } +static inline bool isDisplayFormulaRawEnd(const QString &p_text) +{ + QRegExp regex("\\\\end\\{[^{}\\s\\r\\n]+\\}$"); + if (p_text.indexOf(regex) > -1) { + return true; + } + + return false; +} + void PegHighlighterResult::parseMathjaxBlocks(const PegMarkdownHighlighter *p_peg, const QSharedPointer &p_result) { @@ -302,6 +312,7 @@ void PegHighlighterResult::parseMathjaxBlocks(const PegMarkdownHighlighter *p_pe VMathjaxBlock item; bool inBlock = false; QString marker("$$"); + QString rawMarkerStart("\\begin{"); for (auto it = formulaRegs.begin(); it != formulaRegs.end(); ++it) { const VElementRegion &r = *it; QTextBlock block = doc->findBlock(r.m_startPos); @@ -321,7 +332,8 @@ void PegHighlighterResult::parseMathjaxBlocks(const PegMarkdownHighlighter *p_pe QString text = block.text().mid(pib, length); if (inBlock) { item.m_text = item.m_text + "\n" + text; - if (text.endsWith(marker)) { + if (text.endsWith(marker) + || (blockNum == lastBlock && isDisplayFormulaRawEnd(text))) { // End of block. inBlock = false; item.m_blockNumber = blockNum; @@ -330,11 +342,13 @@ void PegHighlighterResult::parseMathjaxBlocks(const PegMarkdownHighlighter *p_pe m_mathjaxBlocks.append(item); } } else { - if (!text.startsWith(marker)) { + if (!text.startsWith(marker) + && !text.startsWith(rawMarkerStart)) { break; } - if (text.size() > 2 && text.endsWith(marker)) { + if ((text.size() > 2 && text.endsWith(marker)) + || (blockNum == lastBlock && isDisplayFormulaRawEnd(text))) { // Within one block. item.m_blockNumber = blockNum; item.m_previewedAsBlock = true; diff --git a/src/pegmarkdownhighlighter.cpp b/src/pegmarkdownhighlighter.cpp index fd6e3695..9324f397 100644 --- a/src/pegmarkdownhighlighter.cpp +++ b/src/pegmarkdownhighlighter.cpp @@ -37,7 +37,7 @@ void PegMarkdownHighlighter::init(const QVector &p_styles, m_codeBlockStyles = p_codeBlockStyles; if (p_mathjaxEnabled) { - m_parserExts |= pmh_EXT_MATH; + m_parserExts |= (pmh_EXT_MATH | pmh_EXT_MATH_RAW); } m_parseInterval = p_timerInterval;