Wolfram Language
Paclet Repository
Community-contributed installable additions to the Wolfram Language
Primary Navigation
Categories
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
Create a Paclet
Get Started
Download Definition Notebook
Learn More about
Wolfram Language
PatternMatcher
Guides
A Virtual Machine for the Pattern Matcher
Symbols
CompilePatternToBytecode
CreatePatternMatcherVirtualMachine
PatternBytecodeDisassemble
PatternBytecodeInformation
PatternBytecode
PatternBytecodeQ
PatternMatcherEnableTrace
PatternMatcherExecute
PatternMatcherMatch
PatternMatcherMatchQ
PatternMatcherReplace
PatternMatcherStep
PatternMatcherTraceEnabled
PatternMatcherTraceEnabledQ
PatternMatcherVirtualMachine
PatternToMatchFunction
DanielS`PatternMatcher`
P
a
t
t
e
r
n
M
a
t
c
h
e
r
T
r
a
c
e
E
n
a
b
l
e
d
Q
P
a
t
t
e
r
n
M
a
t
c
h
e
r
T
r
a
c
e
E
n
a
b
l
e
d
Q
[
]
r
e
t
u
r
n
s
T
r
u
e
i
f
e
x
e
c
u
t
i
o
n
t
r
a
c
i
n
g
i
s
c
u
r
r
e
n
t
l
y
e
n
a
b
l
e
d
,
F
a
l
s
e
o
t
h
e
r
w
i
s
e
.
D
e
t
a
i
l
s
a
n
d
O
p
t
i
o
n
s
Examples
(
1
)
Basic Examples
(
1
)
By default, pattern matching tracing is disabled:
I
n
[
1
]
:
=
P
a
t
t
e
r
n
M
a
t
c
h
e
r
T
r
a
c
e
E
n
a
b
l
e
d
Q
[
]
O
u
t
[
1
]
=
F
a
l
s
e
Execute a match:
I
n
[
2
]
:
=
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
x
e
c
u
t
e
[
f
[
x
_
I
n
t
e
g
e
r
]
,
f
[
5
]
]
O
u
t
[
2
]
=
R
e
s
u
l
t
T
r
u
e
,
C
y
c
l
e
s
E
x
e
c
u
t
e
d
1
7
,
B
i
n
d
i
n
g
s
G
l
o
b
a
l
`
x
5
Enable the tracing of the execution with
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
n
a
b
l
e
T
r
a
c
e
:
I
n
[
3
]
:
=
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
n
a
b
l
e
T
r
a
c
e
[
T
r
u
e
]
O
u
t
[
3
]
=
T
r
u
e
Execute the same match again, now with tracing:
I
n
[
4
]
:
=
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
x
e
c
u
t
e
[
f
[
x
_
I
n
t
e
g
e
r
]
,
f
[
5
]
]
⋮
B
E
G
I
N
_
B
L
O
C
K
L
0
d
e
p
t
h
=
1
⋮
B
E
G
I
N
_
B
L
O
C
K
L
3
d
e
p
t
h
=
2
☑
M
A
T
C
H
_
L
E
N
G
T
H
S
U
C
C
E
S
S
%
e
0
l
e
n
=
1
e
x
p
e
c
t
e
d
=
1
☑
M
A
T
C
H
_
H
E
A
D
S
U
C
C
E
S
S
%
e
0
=
=
f
M
O
V
E
%
e
1
←
%
e
0
=
f
[
5
]
»
G
E
T
_
P
A
R
T
%
e
2
:
=
p
a
r
t
(
%
e
0
,
1
)
M
O
V
E
%
e
0
←
%
e
2
=
5
☑
M
A
T
C
H
_
H
E
A
D
S
U
C
C
E
S
S
%
e
0
=
=
I
n
t
e
g
e
r
M
O
V
E
%
e
3
←
%
e
0
=
5
↧
B
I
N
D
_
V
A
R
G
l
o
b
a
l
`
x
←
%
e
3
=
5
(
n
o
t
r
a
i
l
)
→
J
U
M
P
L
6
p
c
=
1
2
M
O
V
E
%
e
0
←
%
e
1
=
f
[
5
]
S
A
V
E
_
B
I
N
D
I
N
G
S
1
b
i
n
d
i
n
g
s
c
o
p
i
e
d
⋮
E
N
D
_
B
L
O
C
K
L
3
d
e
p
t
h
=
1
(
m
e
r
g
e
d
)
→
J
U
M
P
L
2
p
c
=
1
9
S
A
V
E
_
B
I
N
D
I
N
G
S
1
b
i
n
d
i
n
g
s
c
o
p
i
e
d
E
X
P
O
R
T
_
B
I
N
D
I
N
G
S
s
a
v
e
d
1
b
i
n
d
i
n
g
s
L
O
A
D
_
I
M
M
%
b
0
←
T
r
u
e
H
A
L
T
s
t
o
p
p
i
n
g
e
x
e
c
u
t
i
o
n
c
y
c
l
e
s
=
1
7
O
u
t
[
4
]
=
R
e
s
u
l
t
T
r
u
e
,
C
y
c
l
e
s
E
x
e
c
u
t
e
d
1
7
,
B
i
n
d
i
n
g
s
G
l
o
b
a
l
`
x
5
S
e
e
A
l
s
o
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
n
a
b
l
e
T
r
a
c
e
▪
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
x
e
c
u
t
e
▪
P
a
t
t
e
r
n
M
a
t
c
h
e
r
V
i
r
t
u
a
l
M
a
c
h
i
n
e
R
e
l
a
t
e
d
G
u
i
d
e
s
▪
A
V
i
r
t
u
a
l
M
a
c
h
i
n
e
f
o
r
t
h
e
P
a
t
t
e
r
n
M
a
t
c
h
e
r
"
"