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
WolframParser
Guide
WolframParser
Symbols
The wrapper
ParserCombinator
- the single head every parser normalises to
ParserCombinatorQ
- test for a normalised combinator
Run a parser
Parse
- run a parser, requiring it to consume the whole input;
"Memoize"->True
adds packrat memoisation (linear time on grammars that backtrack)
ParsePartial
- run a parser, returning
{result,leftover}
ParserCompile
- lower to a compiled function (default) or an LPEG-style
"PEGVM"
machine
Terminals
ParseLiteral
- match an exact string
ParseCharacter
- match one character against a class
ParseRegex
- match as much as a PCRE-style regex consumes
ParseSucceed
,
ParseFail
- the always-succeed / always-fail leaves
Composition
ParseSequence
- match parsers in order
ParseChoice
- PEG-ordered alternation (first match wins)
ParseChoiceLongest
- POSIX longest-match alternation, for shared-prefix alternatives
ParseBetween
- bracketed
openpclose
ParseSepBy
,
ParseSepBy1
- separated lists
Repetition
ParseMany
- zero or more
ParseSome
- one or more
ParseOptional
- zero or one
Operator precedence
ParseChainLeft
,
ParseChainRight
- a single left- / right-associative operator level
ParseOperatorTable
- a full precedence table by Pratt / TDOP binding-power climbing; linear where an ordered-choice cascade over a shared operand backtracks exponentially. See
TDOP vs PEG
Lookahead, backtracking, recursion
ParseLookahead
,
ParseNotFollowedBy
- zero-width positive / negative assertions
ParseTry
- restore the position on failure (opt back into full backtracking)
ParseRecursive
- lazy symbol-ref for cyclic / mutually-recursive grammars
Action and declarative grammars
ParseAction
- run a parser and transform its result
Parse[GrammarRules[{...}],input]
- the
GrammarRules
declarative DSL is accepted as input and lowered locally (no
CloudDeploy
round-trip)
EBNFParse
,
EBNFRules
- read a BNF / EBNF grammar string into an association of named parsers
Domain parsers
LaTeXMathParse
,
LaTeXMathParser
,
LaTeXMathStyle
- parse LaTeX math notation (
\mathbb
,
\frac
,
\sum_{}^{}
, roots, sub/superscripts, named symbols) to a box expression for an
InlineFormula
cell
MarkdownInlineParse
,
MarkdownParse
- Markdown inline / block structure
TPTPImport
,
TPTPExport
- the TPTP theorem-prover formats (CNF / FOF / TFF / TCF / THF), with THF connectives parsed through
ParseOperatorTable
Tutorials
The Parser Landscape: a survey of existing tech
Design and Compilation Strategy
TDOP vs PEG: Two Ways to Parse Operators
Parsing GrammarRules Locally
A Markdown Inline Parser in Parser Combinators
Implementing the LaTeX Math Parser
Wolfram Box Typesetting
A MaTeX Comparison Showcase
Parsing BNF Grammars
Parsing TPTP
Code Analysis Internals
""

© 2026 Wolfram. All rights reserved.

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