Skip to content
Parsing
Search
Ctrl
K
Cancel
Clear
Twitter
GitHub
Select theme
Dark
Light
Auto
Intro
Recently changed
Playground
Playground
About
Bugs
Changelog
Theory
Language
Grammar
Automata
Ambiguity
LL
LR
LR vs LL
Operators
Parse tree
Notation
Notation
Definitions
Abbreviations
Parsing with derivatives
PwD: Parsing with derivatives
Brzozowski derivative
Implementations
Parsing with zippers
PwZ: Parsing with zippers
PwZ implementations
Zipper
Grammar graph
Parse tree
PEG
Other
Extended Chomsky Hierarchy
language
Regular languages
Deterministic context free languages
Context free languages
Boolean languages
Context free with lookahead
Conjuctive languages
Context sensetive languages
Deterministic context sensetive languages
Deterministic Indexed languages
Indexed languages
Languages with context
PEG languages
RE with backreferences
RE with backreferences and lookahead
RE with lookahead
automata
DFA
FA
AFA
TFA
SFA
DPDA
PDA
2DPDA
2SA
APDA
DPPDA
EPDA
IDPDA
IPDA
LBA
MFA
NESA
NSA
SA
SAPDA
Scaffolding Automata
TSA
Parsers timeline
BNF
BSR
Courses about parsing
CRF
DAG
Dynamic programming
GSS
Incremental parsers
Interesting languages
LCRS
Left recursion
Markdown parser
Parser combinators
Playgrounds
Scannerless parser
SPPF
Twitter
GitHub
Select theme
Dark
Light
Auto
Playground
Examples
Context sensitive
PEGs ordered choice throught lookahead
Lookahead bigger than main
Nested lookahead
Lookahead in Alt
Cycle on lookahed 1
Cycle on lookahed 2
Cycle on lookahed 3
Cycle on lookahed 4
"Invisible" symbols
Lexeme
Ignored symbols
Algebraic expression
Left associative operation
Right associative operation
Priority of operations
Kleene star as left recursion
Kleene star as right recursion
Kleene star
Matching parenthesis #1
Matching parenthesis #2
Highly ambigiuous #1
Highly ambigiuous #2
Bug (infinite loop)
markdown not implemented yet
Grammar
Grammar
A -> "a" A "b" | ""; B -> "b" B "c" | ""; S -> &(A "c") "a"* B;
String
aabbcc
Error
Show tree as
DAG
LCRS tree
▶
↓
Cycle
String to parse
a
a
b
b
c
c
Direction and depth
All
↓ 1
SPPF*
Compact
n4637176954386436
S
n8545256721705358
&
n4637176954386436->n8545256721705358
n3292602829605862
∗
n4637176954386436->n3292602829605862
n42675817983657127
B
n4637176954386436->n42675817983657127
n8713039001992822
∙
n8545256721705358->n8713039001992822
n1914805856077163
a
n3292602829605862->n1914805856077163
n9899522521854942
∙
n42675817983657127->n9899522521854942
n5272131462929407
ϵ
n42675817983657127->n5272131462929407
n5244894044857846
b
n9899522521854942->n5244894044857846
n18522816664334274
B
n9899522521854942->n18522816664334274
n6660323749213826
c
n9899522521854942->n6660323749213826
n4329012187397854
A
n8713039001992822->n4329012187397854
n10917972364475204
c
n8713039001992822->n10917972364475204
n2607971913404714
∙
n4329012187397854->n2607971913404714
n9591226369849127
ϵ
n4329012187397854->n9591226369849127
n16252914909510174
B
n16252914909510174->n9899522521854942
n16252914909510174->n5272131462929407
n16252914909510174->n18522816664334274
n15108138467381071
a
n2607971913404714->n15108138467381071
n4991788755389559
A
n2607971913404714->n4991788755389559
n8534787502060623
b
n2607971913404714->n8534787502060623
n8195927620874532
A
n8195927620874532->n2607971913404714
n8195927620874532->n9591226369849127
n8195927620874532->n4991788755389559