Package org.pegdown

Class Parser

java.lang.Object
org.parboiled.BaseActions<Object>
org.parboiled.BaseParser<Object>
org.pegdown.Parser
All Implemented Interfaces:
org.parboiled.ContextAware<Object>, Extensions

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

    • CROSSED_OUT

      protected static final char CROSSED_OUT
      See Also:
    • DefaultParseRunnerProvider

      public static Parser.ParseRunnerProvider DefaultParseRunnerProvider
    • options

      protected final int options
    • maxParsingTimeInMillis

      protected final long maxParsingTimeInMillis
    • parseRunnerProvider

      protected final Parser.ParseRunnerProvider parseRunnerProvider
    • plugins

      protected final PegDownPlugins plugins
    • HTML_TAGS

      protected static final String[] HTML_TAGS
  • Constructor Details

  • Method Details

    • 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<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(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(String chars)
    • EmphOrStrongOpen

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

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

      protected boolean mayEnterEmphOrStrong(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(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<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(Object... nodeRules)
    • setIndices

      public boolean setIndices()
    • addAsChild

      public boolean addAsChild()
    • popAsNode

      public Node popAsNode()
    • popAsString

      public 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()