public void Paragraph(_GithubMarkdown_Memo _memo, int _index, _GithubMarkdown_Args _args) { _GithubMarkdown_Item text = null; // CALLORVAR AnyText _GithubMarkdown_Item _r2; _r2 = _MemoCall(_memo, "AnyText", _index, AnyText, null); if (_r2 != null) { _index = _r2.NextIndex; } // BIND text text = _memo.Results.Peek(); // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { GeneralElement para = new GeneralElement(ElementType.Paragraph); para.AddChildElement(text.Results.First()); return(para); }, _r0), true)); } }
public void Document(_GithubMarkdown_Memo _memo, int _index, _GithubMarkdown_Args _args) { _GithubMarkdown_Item block = null; // AND 1 int _start_i1 = _index; // STAR 3 int _start_i3 = _index; var _res3 = Enumerable.Empty <MarkdownElementBase>(); label3: // CALLORVAR Block _GithubMarkdown_Item _r4; _r4 = _MemoCall(_memo, "Block", _index, Block, null); if (_r4 != null) { _index = _r4.NextIndex; } // STAR 3 var _r3 = _memo.Results.Pop(); if (_r3 != null) { _res3 = _res3.Concat(_r3.Results); goto label3; } else { _memo.Results.Push(new _GithubMarkdown_Item(_start_i3, _index, _memo.InputEnumerable, _res3.Where(_NON_NULL), true)); } // BIND block block = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label1; } // CALLORVAR EOF _GithubMarkdown_Item _r5; _r5 = _MemoCall(_memo, "EOF", _index, EOF, null); if (_r5 != null) { _index = _r5.NextIndex; } label1: // AND var _r1_2 = _memo.Results.Pop(); var _r1_1 = _memo.Results.Pop(); if (_r1_1 != null && _r1_2 != null) { _memo.Results.Push(new _GithubMarkdown_Item(_start_i1, _index, _memo.InputEnumerable, _r1_1.Results.Concat(_r1_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i1; } // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { MarkdownDocument root = new MarkdownDocument(); //merge blockquote sequence MarkdownElementBase[] innerBlocks = block.Results.ToArray <MarkdownElementBase>(); PostProcessor.PostProcess(innerBlocks, root); return(root); }, _r0), true)); } }
public void Blockquote(_GithubMarkdown_Memo _memo, int _index, _GithubMarkdown_Args _args) { _GithubMarkdown_Item symbol = null; _GithubMarkdown_Item inner = null; _GithubMarkdown_Item children = null; // AND 1 int _start_i1 = _index; // AND 2 int _start_i2 = _index; // CALLORVAR BlockquoteSymbol _GithubMarkdown_Item _r4; _r4 = _MemoCall(_memo, "BlockquoteSymbol", _index, BlockquoteSymbol, null); if (_r4 != null) { _index = _r4.NextIndex; } // BIND symbol symbol = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label2; } // STAR 6 int _start_i6 = _index; var _res6 = Enumerable.Empty <MarkdownElementBase>(); label6: // OR 7 int _start_i7 = _index; // CALLORVAR Head _GithubMarkdown_Item _r8; _r8 = _MemoCall(_memo, "Head", _index, Head, null); if (_r8 != null) { _index = _r8.NextIndex; } // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i7; } else { goto label7; } // CALLORVAR InlineText _GithubMarkdown_Item _r9; _r9 = _MemoCall(_memo, "InlineText", _index, InlineText, null); if (_r9 != null) { _index = _r9.NextIndex; } label7: // OR int _dummy_i7 = _index; // no-op for label // STAR 6 var _r6 = _memo.Results.Pop(); if (_r6 != null) { _res6 = _res6.Concat(_r6.Results); goto label6; } else { _memo.Results.Push(new _GithubMarkdown_Item(_start_i6, _index, _memo.InputEnumerable, _res6.Where(_NON_NULL), true)); } // BIND inner inner = _memo.Results.Peek(); label2: // AND var _r2_2 = _memo.Results.Pop(); var _r2_1 = _memo.Results.Pop(); if (_r2_1 != null && _r2_2 != null) { _memo.Results.Push(new _GithubMarkdown_Item(_start_i2, _index, _memo.InputEnumerable, _r2_1.Results.Concat(_r2_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i2; } // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label1; } // STAR 11 int _start_i11 = _index; var _res11 = Enumerable.Empty <MarkdownElementBase>(); label11: // AND 12 int _start_i12 = _index; // CALLORVAR LineBreak _GithubMarkdown_Item _r14; _r14 = _MemoCall(_memo, "LineBreak", _index, LineBreak, null); if (_r14 != null) { _index = _r14.NextIndex; } // QUES if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_index, _memo.InputEnumerable)); } // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label12; } // CALLORVAR InlineText _GithubMarkdown_Item _r15; _r15 = _MemoCall(_memo, "InlineText", _index, InlineText, null); if (_r15 != null) { _index = _r15.NextIndex; } label12: // AND var _r12_2 = _memo.Results.Pop(); var _r12_1 = _memo.Results.Pop(); if (_r12_1 != null && _r12_2 != null) { _memo.Results.Push(new _GithubMarkdown_Item(_start_i12, _index, _memo.InputEnumerable, _r12_1.Results.Concat(_r12_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i12; } // STAR 11 var _r11 = _memo.Results.Pop(); if (_r11 != null) { _res11 = _res11.Concat(_r11.Results); goto label11; } else { _memo.Results.Push(new _GithubMarkdown_Item(_start_i11, _index, _memo.InputEnumerable, _res11.Where(_NON_NULL), true)); } // BIND children children = _memo.Results.Peek(); label1: // AND var _r1_2 = _memo.Results.Pop(); var _r1_1 = _memo.Results.Pop(); if (_r1_1 != null && _r1_2 != null) { _memo.Results.Push(new _GithubMarkdown_Item(_start_i1, _index, _memo.InputEnumerable, _r1_1.Results.Concat(_r1_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i1; } // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { BlockquoteElement block = new BlockquoteElement(); block.QuoteLevel = symbol.Results.First().TextContent.Length; block.AddChildrenElements(inner.Results.AsEnumerable <MarkdownElementBase>()); block.AddChildrenElements(children.Results.AsEnumerable <MarkdownElementBase>()); return(block); }, _r0), true)); } }
public void Head(_GithubMarkdown_Memo _memo, int _index, _GithubMarkdown_Args _args) { _GithubMarkdown_Item symbol = null; _GithubMarkdown_Item text = null; // AND 1 int _start_i1 = _index; // CALLORVAR HeadSymbol _GithubMarkdown_Item _r3; _r3 = _MemoCall(_memo, "HeadSymbol", _index, HeadSymbol, null); if (_r3 != null) { _index = _r3.NextIndex; } // BIND symbol symbol = _memo.Results.Peek(); // AND shortcut if (_memo.Results.Peek() == null) { _memo.Results.Push(null); goto label1; } // CALLORVAR HeadText _GithubMarkdown_Item _r5; _r5 = _MemoCall(_memo, "HeadText", _index, HeadText, null); if (_r5 != null) { _index = _r5.NextIndex; } // BIND text text = _memo.Results.Peek(); label1: // AND var _r1_2 = _memo.Results.Pop(); var _r1_1 = _memo.Results.Pop(); if (_r1_1 != null && _r1_2 != null) { _memo.Results.Push(new _GithubMarkdown_Item(_start_i1, _index, _memo.InputEnumerable, _r1_1.Results.Concat(_r1_2.Results).Where(_NON_NULL), true)); } else { _memo.Results.Push(null); _index = _start_i1; } // ACT var _r0 = _memo.Results.Peek(); if (_r0 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r0.StartIndex, _r0.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { HeaderElement head = new HeaderElement(); head.Size = symbol.Results.First().TextContent.Length; head.TextContent = text.Results.First().TextContent; //remove the tailing # head.TextContent = head.TextContent.TrimEnd('#'); return(head); }, _r0), true)); } }
public void Block(_GithubMarkdown_Memo _memo, int _index, _GithubMarkdown_Args _args) { _GithubMarkdown_Item blankline = null; _GithubMarkdown_Item head = null; _GithubMarkdown_Item quote = null; _GithubMarkdown_Item para = null; // OR 0 int _start_i0 = _index; // OR 1 int _start_i1 = _index; // OR 2 int _start_i2 = _index; // OR 3 int _start_i3 = _index; // CALLORVAR BlankLine _GithubMarkdown_Item _r6; _r6 = _MemoCall(_memo, "BlankLine", _index, BlankLine, null); if (_r6 != null) { _index = _r6.NextIndex; } // BIND blankline blankline = _memo.Results.Peek(); // ACT var _r4 = _memo.Results.Peek(); if (_r4 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r4.StartIndex, _r4.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(blankline); }, _r4), true)); } // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i3; } else { goto label3; } // CALLORVAR LineBreak _GithubMarkdown_Item _r7; _r7 = _MemoCall(_memo, "LineBreak", _index, LineBreak, null); if (_r7 != null) { _index = _r7.NextIndex; } label3: // OR int _dummy_i3 = _index; // no-op for label // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i2; } else { goto label2; } // CALLORVAR Head _GithubMarkdown_Item _r10; _r10 = _MemoCall(_memo, "Head", _index, Head, null); if (_r10 != null) { _index = _r10.NextIndex; } // BIND head head = _memo.Results.Peek(); // ACT var _r8 = _memo.Results.Peek(); if (_r8 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r8.StartIndex, _r8.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(head); }, _r8), true)); } label2: // OR int _dummy_i2 = _index; // no-op for label // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i1; } else { goto label1; } // CALLORVAR Blockquote _GithubMarkdown_Item _r13; _r13 = _MemoCall(_memo, "Blockquote", _index, Blockquote, null); if (_r13 != null) { _index = _r13.NextIndex; } // BIND quote quote = _memo.Results.Peek(); // ACT var _r11 = _memo.Results.Peek(); if (_r11 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r11.StartIndex, _r11.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(quote); }, _r11), true)); } label1: // OR int _dummy_i1 = _index; // no-op for label // OR shortcut if (_memo.Results.Peek() == null) { _memo.Results.Pop(); _index = _start_i0; } else { goto label0; } // CALLORVAR Paragraph _GithubMarkdown_Item _r16; _r16 = _MemoCall(_memo, "Paragraph", _index, Paragraph, null); if (_r16 != null) { _index = _r16.NextIndex; } // BIND para para = _memo.Results.Peek(); // ACT var _r14 = _memo.Results.Peek(); if (_r14 != null) { _memo.Results.Pop(); _memo.Results.Push(new _GithubMarkdown_Item(_r14.StartIndex, _r14.NextIndex, _memo.InputEnumerable, _Thunk(_IM_Result => { return(para); }, _r14), true)); } label0: // OR int _dummy_i0 = _index; // no-op for label }