Wolfram Language Paclet Repository

Community-contributed installable additions to the Wolfram Language

Primary Navigation

    • Cloud & Deployment
    • Core Language & Structure
    • Data Manipulation & Analysis
    • Engineering Data & Computation
    • External Interfaces & Connections
    • Financial Data & Computation
    • Geographic Data & Computation
    • Geometry
    • Graphs & Networks
    • Higher Mathematical Computation
    • Images
    • Knowledge Representation & Natural Language
    • Machine Learning
    • Notebook Documents & Presentation
    • Scientific and Medical Data & Computation
    • Social, Cultural & Linguistic Data
    • Strings & Text
    • Symbolic & Numeric Computation
    • System Operation & Setup
    • Time-Related Computation
    • User Interface Construction
    • Visualization & Graphics
    • Random Paclet
    • Alphabetical List
  • Using Paclets
    • Get Started
    • Download Definition Notebook
  • Learn More about Wolfram Language

Parser

Tutorials

  • Building Language Front-Ends
  • Inside CodeAnalysis - How CodeStructure Parses C
  • Design and Compilation Strategy
  • Implementing the LaTeX Math Parser
  • MaTeX Comparison Showcase
  • The Parser Landscape - a Survey of What Exists Today
  • The Parser Zoo - language front-ends over a shared algebra
  • Parsing BNF Grammars (and bootstrapping a TPTP parser)
  • Parsing GrammarRules Locally
  • A Markdown Inline Parser in Parser Combinators
  • ParsingOpenQASM
  • Parsing TPTP, Auto-Generated from the Published BNF
  • PrattVsPEG
  • The Wolfram Box Typesetting Reference

Guides

  • Parsing in the Wolfram Language

Symbols

  • ASTAddSource
  • ASTAlgebra
  • ASTContainer
  • ASTLeafQ
  • ASTNodeQ
  • ASTStripSource
  • BinaryNode
  • BrainfuckAST
  • BrainfuckGrammar
  • BrainfuckRun
  • BrainfuckSemantic
  • CalculatorAST
  • CalculatorEval
  • CalculatorGrammar
  • CalculatorSemantic
  • CallNode
  • ContainerNode
  • EBNFParse
  • EBNFRules
  • ErrorNode
  • ExportLaTeX
  • GroupNode
  • InfixNode
  • JSONAST
  • JSONGrammar
  • JSONImport
  • JSONSemantic
  • LambdaAST
  • LambdaEval
  • LambdaGrammar
  • LambdaSemantic
  • LaTeXMathParse
  • LaTeXMathParser
  • LaTeXMathStyle
  • LeafNode
  • LispAST
  • LispGrammar
  • LispRead
  • LispSemantic
  • LispSymbol
  • MarkdownInlineParse
  • MarkdownInlineParser
  • MarkdownParse
  • MarkdownParser
  • ParseAction
  • ParseBetween
  • ParseChainLeft
  • ParseChainRight
  • ParseCharacter
  • ParseChoiceLongest
  • ParseChoice
  • ParseFail
  • ParseLiteral
  • ParseLookahead
  • ParseMany
  • Parse
  • ParseNotFollowedBy
  • ParseOperatorTable
  • ParseOptional
  • ParsePartial
  • ParsePosition
  • ParserCombinator
  • ParserCombinatorQ
  • ParserCompile
  • ParseRecursive
  • ParseRegex
  • ParseSepBy1
  • ParseSepBy
  • ParseSequence
  • ParseSome
  • ParseSucceed
  • ParseTry
  • PostfixNode
  • PrefixNode
  • RecCell
  • RecRef
  • SetRec
  • SpannedToken
  • TernaryNode
  • ToCodeParser
  • TPTPExport
  • TPTPImport

Overviews

  • WolframParser
Wolfram`Parser`
MarkdownInlineParse
​
MarkdownInlineParse
[source]
parses inline markdown source (a
String
— the span-level content of a single paragraph) into a flat
List
of inline-atom
Association
s, each carrying a
"Type"
discriminator (
"Text"
,
"Bold"
,
"Italic"
,
"Code"
,
"Link"
,
"MathInline"
, …) plus per-shape payload keys.
​
Details and Options
▪
The result is a flat
List
of
Association
s. Prose runs are
"Type""Text","Text"str
; emphasis is
"Bold"
/
"Italic"
/
"BoldItalic"
; code is
"Code"
/
"LiteralCode"
/
"HtmlCode"
; math is
"MathInline"
/
"MathDisplay"
; the paired references are
"Link"
and
"Image"
; and
"Sub"
/
"Sup"
/
"Strike"
cover the remaining spans.
▪
A span's body — the
"Children"
of an emphasis / sub / sup / strike atom, or the
"Label"
of a link — is itself a
List
of inline atoms, because the captured body is re-parsed recursively. So
**bold$x$**
nests a
"MathInline"
atom inside the
"Bold"
.
▪
Adjacent
"Text"
atoms are merged, so a contiguous prose run is one atom, not one atom per character.
▪
Overlapping openers resolve by PEG order, longest first:
***
before
**
before
*
, double backtick before single,
$$
before
$
, and the HTML
<sub>
/
<sup>
before their single-character Pandoc twins.
▪
Underscore emphasis follows CommonMark word-boundary rules:
_em_
opens emphasis at a word boundary, but an underscore between word characters (
snake_case
) stays literal.
▪
A literal
...
inside a
"Text"
run becomes the Unicode ellipsis character;
...
inside a code span or math span is left verbatim.
▪
A backslash before ASCII punctuation (
\*
,
\$
) yields that punctuation as literal text rather than opening a span.
▪
An unclosed delimiter is not an error — the opener and its trailing text stay as literal
"Text"
.
▪
MarkdownInlineParse
handles inline constructs only. Whole-document structure (frontmatter, headings, code fences, thematic breaks, paragraph splitting) is
MarkdownParse
's job; feed a document's
"Prose"
block text through this function to resolve its spans.
▪
MarkdownInlineParse
is the wrapper around the
MarkdownInlineParser
combinator: it runs
Parse
and then merges text runs, applies the ellipsis and underscore-emphasis passes, and re-parses span children. On a parse failure it returns the
Failure
object unchanged.
▪
The grammar and its post-processing passes are walked through in the
Markdown inline parser tutorial
.
​
Examples  
(15)
Basic Examples  
(1)
Plain prose is a single
"Text"
atom:
In[1]:=
MarkdownInlineParse
["plain text"]
Out[1]=
{TypeText,Textplain text}
Emphasis and code spans become their own atoms, with the surrounding prose in
"Text"
runs:
In[2]:=
MarkdownInlineParse
["**bold** and `code`"]
Out[2]=
{TypeBold,Children{TypeText,Textbold},TypeText,Text and ,TypeCode,Codecode}
A link's label is parsed recursively — here it is a code span, not plain text:
In[3]:=
MarkdownInlineParse
["[`Range`](paclet:ref/Range)"]
Out[3]=
{TypeLink,Urlpaclet:ref/Range,Label{TypeCode,CodeRange}}
Scope  
(8)

Properties & Relations  
(3)

Possible Issues  
(2)

Neat Examples  
(1)

SeeAlso
MarkdownInlineParser
 
▪
MarkdownParse
 
▪
MarkdownParser
 
▪
Parse
 
▪
ParserCombinator
RelatedGuides
▪
Parsing in the Wolfram Language
""

© 2026 Wolfram. All rights reserved.

  • Legal & Privacy Policy
  • Contact Us
  • WolframAlpha.com
  • WolframCloud.com