public void Initialize(MarkdownGrammar grammar) { var prefix = Terms.sp.Repeat(0, 3); var value = Terminals.Set("\n\r").Inverse().Repeat(1).WithName("value"); var suffix = Terminals.Eol & ((+Terminals.Literal("=")).Named("h1") | (+Terminals.Literal("-")).Named("h2")) & Terms.ows & Terminals.Eol; this.Add(prefix, value, suffix, -Terms.blankLine); }
public void Initialize(MarkdownGrammar grammar) { var prefix = Terminals.Literal("#").Repeat(1); var value = Terminals.Set("\n\r").Inverse().Repeat(1).Until(Terms.ows & -Terminals.Literal("#") & Terms.eolorf, true); prefix.Name = "prefix"; value.Name = "value"; this.Add(prefix, Terms.ows, value, -Terms.blankLine); }
public void Initialize(MarkdownGrammar grammar) { var prefix = "[" & (+Terminals.Set("]\n\r").Inverse()).WithName("id") & "]:"; var link = (+Terminals.WhiteSpace.Inverse()).WithName("link"); var title = new StringParser { Name = "title", BeginQuoteCharacters = "\"'(".ToCharArray(), EndQuoteCharacters = "\"')".ToCharArray() }; Add(Terms.sp.Repeat(0, 3), prefix, Terms.ows, link, Terms.ows, ~title, +Terms.blankLine | Terms.eof); }
public void Initialize(MarkdownGrammar grammar) { var prefix = Terminals.Repeat(c => c == ' ' || c == '\t', 0, 3); var dash = Terminals.Literal("-").Repeat(3).SeparatedBy(Terms.ows).Until(Terms.eolorf); var star = Terminals.Literal("*").Repeat(3).SeparatedBy(Terms.ows).Until(Terms.eolorf); var underscore = Terminals.Literal("_").Repeat(3).SeparatedBy(Terms.ows).Until(Terms.eolorf); this.Add(prefix, dash | star | underscore, -Terms.blankLine); }
public void Initialize(MarkdownGrammar grammar) { var content = new RepeatParser().Until(Terms.eolorf); content.Name = "content"; var line = grammar.Indent & content; Inner = line; this.Minimum = 1; this.SeparatedBy(+(Terms.ows & Terms.eol.Named("sep"))).Until(Terms.EndOfSection(line.Not()), true); }
public void Initialize(MarkdownGrammar grammar) { var prefix = Terms.sp.Repeat(0, 3); var content = (~prefix & Terms.words & -Terms.sp); var dlheader = new DoubleLineHeaderSection(); dlheader.Initialize(grammar); var finish = Terminals.Set("#>") | dlheader; var lines = content.Repeat(1).SeparatedBy(Terms.eol).Until((Terms.eol & finish.NonCaptured()) | Terms.EndOfSection(minLines: 2), true); Add(grammar.Prefix, prefix, lines.Named("lines")); }
public void Initialize(MarkdownGrammar grammar) { this.grammar = grammar; var prefix = (grammar.Prefix & -Terms.sp) & Terminals.Literal(">"); var value = new RepeatParser(1).Until(Terms.eolorf, true); prefix.Name = "prefix"; value.Name = "value"; this.Inner = prefix.Separate() & Terms.ows & value & -Terms.blankLine; this.Minimum = 1; }
public void Initialize(MarkdownGrammar grammar) { var prefix = Terms.sp.Repeat(0, 3); var star = ((Parser)"*" | "-" | "+").WithName("star") & Terms.ws; var num = (+Terminals.Digit).WithName("num") & "." & Terms.ows; var start = (prefix & (num | star)).Separate(); var content = grammar.Encoding.ReplacementsWithAnyChar().Repeat().Until(Terms.blankLine & (Terms.blankLine | Terms.ows & start)); content.Name = "content"; var line = (grammar.PrefixSpOrHt & start & content & Terms.blankLineOrEof); var inner = grammar.CreateInnerReplacements().WithName("inner"); var spacing = (-Terms.blankLine).WithName("spacing"); var lineWithSpacing = line & ~(-Terms.blankLine & inner) & spacing; Inner = lineWithSpacing.WithName("line"); Minimum = 1; this.Until(Terms.EndOfSection(line.Not()), capture: true); }
public void Initialize(MarkdownGrammar grammar) { Add(" ", Terminals.Eol); }
public void Initialize(MarkdownGrammar grammar) { var inner = grammar.Encoding.Replacements(); Add("**" & Terms.ows & +((inner | Terminals.Set("*\n\r").Inverse())) & "**"); Add("__" & Terms.ows & +((inner | Terminals.Set("_\n\r").Inverse())) & "__"); }
public void Initialize(MarkdownGrammar grammar) { var parens = +(Terminals.Set("\\").Not() & Terminals.Literal("`")); Add(new BalancedParser { Surrounding = parens }/*, (parens & new RepeatParser().Until(Terminals.Literal("`"), true) & parens)*/); }
public void Initialize(MarkdownGrammar grammar) { Add(new HtmlElementParser { MatchContent = true, Name = "html" }, -Terms.blankLine); }
public void Initialize(MarkdownGrammar grammar) { this.Add("&" & ~(+Terminals.Letter & ";"), Terminals.Set("<>\""), Terminals.Literal("\\") & Terminals.Set("&><\\`*_{}[]()#+-.!")); }