Package org.pegdown

Class Parser

  • All Implemented Interfaces:
    org.parboiled.ContextAware<java.lang.Object>, Extensions

    public class Parser
    extends org.parboiled.BaseParser<java.lang.Object>
    implements Extensions
    Parboiled parser for the standard and extended markdown syntax. Builds an Abstract Syntax Tree (AST) of Node objects.
    • Field Detail

      • options

        protected final int options
      • maxParsingTimeInMillis

        protected final long maxParsingTimeInMillis
      • HTML_TAGS

        protected static final java.lang.String[] HTML_TAGS
    • Method Detail

      • parse

        public RootNode parse​(char[] source)
      • Root

        public org.parboiled.Rule Root()
      • Block

        public org.parboiled.Rule Block()
      • Para

        public org.parboiled.Rule Para()
      • BlockQuote

        public org.parboiled.Rule BlockQuote()
      • Verbatim

        public org.parboiled.Rule Verbatim()
      • FencedCodeBlock

        public org.parboiled.Rule FencedCodeBlock()
      • CodeFence

        public org.parboiled.Rule CodeFence​(org.parboiled.support.Var<java.lang.Integer> markerLength)
      • HorizontalRule

        public org.parboiled.Rule HorizontalRule()
      • HorizontalRule

        public org.parboiled.Rule HorizontalRule​(char c)
      • Heading

        public org.parboiled.Rule Heading()
      • AtxHeading

        public org.parboiled.Rule AtxHeading()
      • AtxStart

        public org.parboiled.Rule AtxStart()
      • AtxInline

        public org.parboiled.Rule AtxInline()
      • SetextHeading

        public org.parboiled.Rule SetextHeading()
      • SetextHeading1

        public org.parboiled.Rule SetextHeading1()
      • SetextHeading2

        public org.parboiled.Rule SetextHeading2()
      • SetextInline

        public org.parboiled.Rule SetextInline()
      • DefinitionList

        public org.parboiled.Rule DefinitionList()
      • DefListTerm

        public org.parboiled.Rule DefListTerm()
      • DefTermInline

        public org.parboiled.Rule DefTermInline()
      • Definition

        public org.parboiled.Rule Definition()
      • DefListBullet

        public org.parboiled.Rule DefListBullet()
      • BulletList

        public org.parboiled.Rule BulletList()
      • OrderedList

        public org.parboiled.Rule OrderedList()
      • ListItem

        public org.parboiled.Rule ListItem​(org.parboiled.Rule itemStart,
                                           Parser.SuperNodeCreator itemNodeCreator)
      • CrossedOut

        public org.parboiled.Rule CrossedOut​(org.parboiled.Rule rule,
                                             org.parboiled.support.StringBuilderVar block)
      • DoubleIndentedBlocks

        public org.parboiled.Rule DoubleIndentedBlocks​(org.parboiled.support.StringBuilderVar block)
      • IndentedBlock

        public org.parboiled.Rule IndentedBlock​(org.parboiled.support.StringBuilderVar block)
      • NotItem

        public org.parboiled.Rule NotItem()
      • Enumerator

        public org.parboiled.Rule Enumerator()
      • Bullet

        public org.parboiled.Rule Bullet()
      • HtmlBlock

        public org.parboiled.Rule HtmlBlock()
      • HtmlBlockInTags

        public org.parboiled.Rule HtmlBlockInTags()
      • HtmlTagBlock

        public org.parboiled.Rule HtmlTagBlock​(org.parboiled.support.StringVar tagName)
      • HtmlBlockSelfClosing

        public org.parboiled.Rule HtmlBlockSelfClosing()
      • HtmlBlockOpen

        public org.parboiled.Rule HtmlBlockOpen​(org.parboiled.support.StringVar tagName)
      • HtmlBlockClose

        public org.parboiled.Rule HtmlBlockClose​(org.parboiled.support.StringVar tagName)
      • DefinedHtmlTagName

        public org.parboiled.Rule DefinedHtmlTagName​(org.parboiled.support.StringVar tagName)
      • isHtmlTag

        public boolean isHtmlTag​(java.lang.String string)
      • Inlines

        public org.parboiled.Rule Inlines()
      • InlineOrIntermediateEndline

        public org.parboiled.Rule InlineOrIntermediateEndline()
      • Inline

        public org.parboiled.Rule Inline()
      • NonAutoLinkInline

        public org.parboiled.Rule NonAutoLinkInline()
      • NonLinkInline

        public org.parboiled.Rule NonLinkInline()
      • Endline

        public org.parboiled.Rule Endline()
      • LineBreak

        public org.parboiled.Rule LineBreak()
      • TerminalEndline

        public org.parboiled.Rule TerminalEndline()
      • NormalEndline

        public org.parboiled.Rule NormalEndline()
      • UlOrStarLine

        public org.parboiled.Rule UlOrStarLine()
      • CharLine

        public org.parboiled.Rule CharLine​(char c)
      • StrongOrEmph

        public org.parboiled.Rule StrongOrEmph()
      • Emph

        public org.parboiled.Rule Emph()
      • Strong

        public org.parboiled.Rule Strong()
      • Strike

        public org.parboiled.Rule Strike()
      • EmphOrStrong

        public org.parboiled.Rule EmphOrStrong​(java.lang.String chars)
      • EmphOrStrongOpen

        public org.parboiled.Rule EmphOrStrongOpen​(java.lang.String chars)
      • EmphOrStrongClose

        public org.parboiled.Rule EmphOrStrongClose​(java.lang.String chars)
      • mayEnterEmphOrStrong

        protected boolean mayEnterEmphOrStrong​(java.lang.String chars)
        This method checks if the parser can enter an emph or strong sequence Emph only allows Strong as direct child, Strong only allows Emph as direct child.
      • isLegalEmphOrStrongStartPos

        protected boolean isLegalEmphOrStrongStartPos()
        This method checks if current position is a legal start position for a strong or emph sequence by checking the last parsed character(-sequence).
      • setClosed

        protected boolean setClosed()
        Mark the current StrongEmphSuperNode as closed sequence
      • isStrongCloseCharStolen

        protected boolean isStrongCloseCharStolen​(java.lang.String chars)
        This method checks if current parent is a strong parent based on param `chars`. If so, it checks if the latest inline node to be added as child does not end with a closing character of the parent. When this is true, a next test should check if the closing character(s) of the child should become (part of) the closing character(s) of the parent.
      • stealBackStrongCloseChar

        protected boolean stealBackStrongCloseChar()
        Steals the last close char by marking a previously closed emph/strong node as unclosed.
      • isLegalEmphOrStrongClosePos

        protected boolean isLegalEmphOrStrongClosePos()
        This method checks if the last parsed character or sequence is a valid prefix for a closing char for an emph or strong sequence.
      • Image

        public org.parboiled.Rule Image()
      • Link

        public org.parboiled.Rule Link()
      • NonAutoLink

        public org.parboiled.Rule NonAutoLink()
      • ExplicitLink

        public org.parboiled.Rule ExplicitLink​(boolean image)
      • ReferenceLink

        public org.parboiled.Rule ReferenceLink​(boolean image)
      • LinkSource

        public org.parboiled.Rule LinkSource()
      • LinkTitle

        public org.parboiled.Rule LinkTitle()
      • LinkTitle

        public org.parboiled.Rule LinkTitle​(char delimiter)
      • AutoLink

        public org.parboiled.Rule AutoLink()
      • WikiLink

        public org.parboiled.Rule WikiLink()
      • AutoLinkUrl

        public org.parboiled.Rule AutoLinkUrl()
      • AutoLinkEmail

        public org.parboiled.Rule AutoLinkEmail()
      • AutoLinkEnd

        public org.parboiled.Rule AutoLinkEnd()
      • Label

        public org.parboiled.Rule Label()
      • Reference

        public org.parboiled.Rule Reference()
      • RefSrc

        public org.parboiled.Rule RefSrc​(org.parboiled.support.Var<ReferenceNode> ref)
      • RefSrcContent

        public org.parboiled.Rule RefSrcContent​(org.parboiled.support.Var<ReferenceNode> ref)
      • RefTitle

        public org.parboiled.Rule RefTitle​(org.parboiled.support.Var<ReferenceNode> ref)
      • RefTitle

        public org.parboiled.Rule RefTitle​(char open,
                                           char close,
                                           org.parboiled.support.Var<ReferenceNode> ref)
      • Code

        public org.parboiled.Rule Code()
      • Code

        public org.parboiled.Rule Code​(org.parboiled.Rule ticks)
      • Ticks

        public org.parboiled.Rule Ticks​(int count)
      • InlineHtml

        public org.parboiled.Rule InlineHtml()
      • HtmlComment

        public org.parboiled.Rule HtmlComment()
      • HtmlTag

        public org.parboiled.Rule HtmlTag()
      • HtmlAttribute

        public org.parboiled.Rule HtmlAttribute()
      • Quoted

        public org.parboiled.Rule Quoted()
      • BlankLine

        public org.parboiled.Rule BlankLine()
      • Line

        public org.parboiled.Rule Line​(org.parboiled.support.StringBuilderVar sb)
      • Entity

        public org.parboiled.Rule Entity()
      • HexEntity

        public org.parboiled.Rule HexEntity()
      • DecEntity

        public org.parboiled.Rule DecEntity()
      • CharEntity

        public org.parboiled.Rule CharEntity()
      • Str

        public org.parboiled.Rule Str()
      • Space

        public org.parboiled.Rule Space()
      • Spn1

        public org.parboiled.Rule Spn1()
      • Sp

        public org.parboiled.Rule Sp()
      • Spacechar

        public org.parboiled.Rule Spacechar()
      • Nonspacechar

        public org.parboiled.Rule Nonspacechar()
      • NormalChar

        public org.parboiled.Rule NormalChar()
      • EscapedChar

        public org.parboiled.Rule EscapedChar()
      • Symbol

        public org.parboiled.Rule Symbol()
      • SpecialChar

        public org.parboiled.Rule SpecialChar()
      • NotNewline

        public org.parboiled.Rule NotNewline()
      • Newline

        public org.parboiled.Rule Newline()
      • NonindentSpace

        public org.parboiled.Rule NonindentSpace()
      • Indent

        public org.parboiled.Rule Indent()
      • Alphanumeric

        public org.parboiled.Rule Alphanumeric()
      • Letter

        public org.parboiled.Rule Letter()
      • Digit

        public org.parboiled.Rule Digit()
      • Abbreviation

        public org.parboiled.Rule Abbreviation()
      • AbbreviationText

        public org.parboiled.Rule AbbreviationText​(org.parboiled.support.Var<AbbreviationNode> node)
      • Table

        public org.parboiled.Rule Table()
      • TableCaption

        public org.parboiled.Rule TableCaption()
      • CaptionStart

        public org.parboiled.Rule CaptionStart()
      • CaptionInline

        public org.parboiled.Rule CaptionInline()
      • TableDivider

        public org.parboiled.Rule TableDivider​(org.parboiled.support.Var<TableNode> tableNode)
      • TableColumn

        public org.parboiled.Rule TableColumn​(org.parboiled.support.Var<TableNode> tableNode,
                                              org.parboiled.support.Var<java.lang.Boolean> pipeSeen)
      • TableRow

        public org.parboiled.Rule TableRow()
      • TableCell

        public org.parboiled.Rule TableCell()
      • Smarts

        public org.parboiled.Rule Smarts()
      • SingleQuoted

        public org.parboiled.Rule SingleQuoted()
      • SingleQuoteEnd

        public org.parboiled.Rule SingleQuoteEnd()
      • DoubleQuoted

        public org.parboiled.Rule DoubleQuoted()
      • DoubleAngleQuoted

        public org.parboiled.Rule DoubleAngleQuoted()
      • NOrMore

        public org.parboiled.Rule NOrMore​(char c,
                                          int n)
      • NodeSequence

        public org.parboiled.Rule NodeSequence​(java.lang.Object... nodeRules)
      • setIndices

        public boolean setIndices()
      • addAsChild

        public boolean addAsChild()
      • popAsNode

        public Node popAsNode()
      • popAsString

        public java.lang.String popAsString()
      • ext

        public boolean ext​(int extension)
      • parseInternal

        public RootNode parseInternal​(org.parboiled.support.StringBuilderVar block)
      • fixIndices

        protected void fixIndices​(Node node,
                                  int[] ixMap)
      • parseInternal

        public RootNode parseInternal​(char[] source)
      • checkForParsingTimeout

        protected boolean checkForParsingTimeout()