Package org.pegdown
Class Parser
- All Implemented Interfaces:
org.parboiled.ContextAware<Object>
,Extensions
Parboiled parser for the standard and extended markdown syntax.
Builds an Abstract Syntax Tree (AST) of
Node
objects.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic interface
protected static interface
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final char
static Parser.ParseRunnerProvider
protected static final String[]
protected final long
protected final int
protected final Parser.ParseRunnerProvider
protected final PegDownPlugins
Fields inherited from class org.parboiled.BaseParser
ANY, DEDENT, EMPTY, EOI, INDENT, NOTHING
Fields inherited from interface org.pegdown.Extensions
ABBREVIATIONS, ALL, AUTOLINKS, DEFINITIONS, FENCED_CODE_BLOCKS, HARDWRAPS, NONE, QUOTES, SMARTS, SMARTYPANTS, STRIKETHROUGH, SUPPRESS_ALL_HTML, SUPPRESS_HTML_BLOCKS, SUPPRESS_INLINE_HTML, TABLES, WIKILINKS
-
Constructor Summary
ConstructorsConstructorDescriptionParser
(Integer options, Long maxParsingTimeInMillis, Parser.ParseRunnerProvider parseRunnerProvider) Parser
(Integer options, Long maxParsingTimeInMillis, Parser.ParseRunnerProvider parseRunnerProvider, PegDownPlugins plugins) -
Method Summary
Modifier and TypeMethodDescriptionorg.parboiled.Rule
org.parboiled.Rule
AbbreviationText
(org.parboiled.support.Var<AbbreviationNode> node) boolean
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
AtxStart()
org.parboiled.Rule
AutoLink()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Block()
org.parboiled.Rule
org.parboiled.Rule
Bullet()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
CharLine
(char c) protected boolean
org.parboiled.Rule
Code()
org.parboiled.Rule
Code
(org.parboiled.Rule ticks) org.parboiled.Rule
org.parboiled.Rule
CrossedOut
(org.parboiled.Rule rule, org.parboiled.support.StringBuilderVar block) org.parboiled.Rule
org.parboiled.Rule
DefinedHtmlTagName
(org.parboiled.support.StringVar tagName) org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Digit()
org.parboiled.Rule
org.parboiled.Rule
DoubleIndentedBlocks
(org.parboiled.support.StringBuilderVar block) org.parboiled.Rule
org.parboiled.Rule
Emph()
org.parboiled.Rule
EmphOrStrong
(String chars) org.parboiled.Rule
EmphOrStrongClose
(String chars) org.parboiled.Rule
EmphOrStrongOpen
(String chars) org.parboiled.Rule
Endline()
org.parboiled.Rule
Entity()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
ExplicitLink
(boolean image) boolean
ext
(int extension) org.parboiled.Rule
protected void
fixIndices
(Node node, int[] ixMap) org.parboiled.Rule
Heading()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
HorizontalRule
(char c) org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
HtmlBlockClose
(org.parboiled.support.StringVar tagName) org.parboiled.Rule
org.parboiled.Rule
HtmlBlockOpen
(org.parboiled.support.StringVar tagName) org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
HtmlTag()
org.parboiled.Rule
HtmlTagBlock
(org.parboiled.support.StringVar tagName) org.parboiled.Rule
Image()
org.parboiled.Rule
Indent()
org.parboiled.Rule
IndentedBlock
(org.parboiled.support.StringBuilderVar block) org.parboiled.Rule
Inline()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Inlines()
boolean
protected boolean
This method checks if the last parsed character or sequence is a valid prefix for a closing char for an emph or strong sequence.protected boolean
This method checks if current position is a legal start position for a strong or emph sequence by checking the last parsed character(-sequence).protected boolean
isStrongCloseCharStolen
(String chars) This method checks if current parent is a strong parent based on param `chars`.org.parboiled.Rule
Label()
org.parboiled.Rule
Letter()
org.parboiled.Rule
Line
(org.parboiled.support.StringBuilderVar sb) org.parboiled.Rule
org.parboiled.Rule
Link()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
LinkTitle
(char delimiter) org.parboiled.Rule
ListItem
(org.parboiled.Rule itemStart, Parser.SuperNodeCreator itemNodeCreator) 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.org.parboiled.Rule
Newline()
org.parboiled.Rule
NodeSequence
(Object... nodeRules) org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
NOrMore
(char c, int n) org.parboiled.Rule
NotItem()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Para()
parse
(char[] source) parseInternal
(char[] source) parseInternal
(org.parboiled.support.StringBuilderVar block) org.parboiled.Rule
Quoted()
org.parboiled.Rule
org.parboiled.Rule
ReferenceLink
(boolean image) org.parboiled.Rule
RefSrc
(org.parboiled.support.Var<ReferenceNode> ref) org.parboiled.Rule
RefSrcContent
(org.parboiled.support.Var<ReferenceNode> ref) org.parboiled.Rule
RefTitle
(char open, char close, org.parboiled.support.Var<ReferenceNode> ref) org.parboiled.Rule
RefTitle
(org.parboiled.support.Var<ReferenceNode> ref) org.parboiled.Rule
Root()
protected boolean
Mark the current StrongEmphSuperNode as closed sequenceorg.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
boolean
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Smarts()
org.parboiled.Rule
Sp()
org.parboiled.Rule
Space()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
Spn1()
protected boolean
Steals the last close char by marking a previously closed emph/strong node as unclosed.org.parboiled.Rule
Str()
org.parboiled.Rule
Strike()
org.parboiled.Rule
Strong()
org.parboiled.Rule
org.parboiled.Rule
Symbol()
org.parboiled.Rule
Table()
org.parboiled.Rule
org.parboiled.Rule
org.parboiled.Rule
TableColumn
(org.parboiled.support.Var<TableNode> tableNode, org.parboiled.support.Var<Boolean> pipeSeen) org.parboiled.Rule
TableDivider
(org.parboiled.support.Var<TableNode> tableNode) org.parboiled.Rule
TableRow()
org.parboiled.Rule
org.parboiled.Rule
Ticks
(int count) org.parboiled.Rule
org.parboiled.Rule
Verbatim()
org.parboiled.Rule
WikiLink()
Methods inherited from class org.parboiled.BaseParser
ACTION, AnyOf, AnyOf, AnyOf, Ch, CharRange, FirstOf, FirstOf, fromCharArray, fromCharLiteral, fromStringLiteral, IgnoreCase, IgnoreCase, IgnoreCase, newInstance, NoneOf, NoneOf, NTimes, NTimes, OneOrMore, OneOrMore, Optional, Optional, Sequence, Sequence, String, String, Test, Test, TestNot, TestNot, toRule, toRules, ZeroOrMore, ZeroOrMore
Methods inherited from class org.parboiled.BaseActions
currentChar, currentIndex, drop, drop, dup, getContext, hasError, inPredicate, match, matchedChar, matchEnd, matchLength, matchOrDefault, matchRange, matchStart, nodeSuppressed, peek, peek, poke, poke, pop, pop, position, push, push, pushAll, setContext, swap, swap3, swap4, swap5, swap6
-
Field Details
-
CROSSED_OUT
protected static final char CROSSED_OUT- See Also:
-
DefaultParseRunnerProvider
-
options
protected final int options -
maxParsingTimeInMillis
protected final long maxParsingTimeInMillis -
parseRunnerProvider
-
plugins
-
HTML_TAGS
-
-
Constructor Details
-
Parser
public Parser(Integer options, Long maxParsingTimeInMillis, Parser.ParseRunnerProvider parseRunnerProvider, PegDownPlugins plugins) -
Parser
public Parser(Integer options, Long maxParsingTimeInMillis, Parser.ParseRunnerProvider parseRunnerProvider)
-
-
Method Details
-
parse
-
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
-
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
-
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
-
EmphOrStrongOpen
-
EmphOrStrongClose
-
mayEnterEmphOrStrong
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
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
-
RefSrcContent
-
RefTitle
-
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
-
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
-
TableColumn
-
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
-
setIndices
public boolean setIndices() -
addAsChild
public boolean addAsChild() -
popAsNode
-
popAsString
-
ext
public boolean ext(int extension) -
parseInternal
-
fixIndices
-
parseInternal
-
checkForParsingTimeout
protected boolean checkForParsingTimeout()
-