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
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
n
a
b
l
e
T
r
a
c
e
[
b
o
o
l
]
e
n
a
b
l
e
s
o
r
d
i
s
a
b
l
e
s
t
r
a
c
e
o
u
t
p
u
t
g
l
o
b
a
l
l
y
f
o
r
a
l
l
p
a
t
t
e
r
n
m
a
t
c
h
i
n
g
e
x
e
c
u
t
i
o
n
.
D
e
t
a
i
l
s
a
n
d
O
p
t
i
o
n
s
Examples
(
1
)
Basic Examples
(
1
)
Enable step-by-step execution for all pattern matching functions:
I
n
[
1
]
:
=
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
[
1
]
=
T
r
u
e
See the tracing of 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
[
{
x
_
I
n
t
e
g
e
r
,
y
_
R
e
a
l
}
,
{
5
,
4
.
2
}
]
⋮
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
=
2
e
x
p
e
c
t
e
d
=
2
☑
M
A
T
C
H
_
H
E
A
D
S
U
C
C
E
S
S
%
e
0
=
=
L
i
s
t
M
O
V
E
%
e
1
←
%
e
0
=
{
5
,
4
.
2
}
»
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
=
{
5
,
4
.
2
}
»
G
E
T
_
P
A
R
T
%
e
4
:
=
p
a
r
t
(
%
e
0
,
2
)
M
O
V
E
%
e
0
←
%
e
4
=
4
.
2
☑
M
A
T
C
H
_
H
E
A
D
S
U
C
C
E
S
S
%
e
0
=
=
R
e
a
l
M
O
V
E
%
e
5
←
%
e
0
=
4
.
2
↧
B
I
N
D
_
V
A
R
G
l
o
b
a
l
`
y
←
%
e
5
=
4
.
2
(
n
o
t
r
a
i
l
)
→
J
U
M
P
L
8
p
c
=
2
0
M
O
V
E
%
e
0
←
%
e
1
=
{
5
,
4
.
2
}
S
A
V
E
_
B
I
N
D
I
N
G
S
2
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
=
2
7
S
A
V
E
_
B
I
N
D
I
N
G
S
2
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
2
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
=
2
4
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
2
4
,
B
i
n
d
i
n
g
s
G
l
o
b
a
l
`
y
4
.
2
,
G
l
o
b
a
l
`
x
5
The tracing is enabled globally:
I
n
[
3
]
:
=
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
[
3
]
=
T
r
u
e
Disable the trace:
I
n
[
4
]
:
=
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
[
F
a
l
s
e
]
O
u
t
[
4
]
=
F
a
l
s
e
I
n
[
5
]
:
=
P
a
t
t
e
r
n
M
a
t
c
h
e
r
E
x
e
c
u
t
e
[
{
x
_
I
n
t
e
g
e
r
,
y
_
R
e
a
l
}
,
{
5
,
4
.
2
}
]
O
u
t
[
5
]
=
R
e
s
u
l
t
T
r
u
e
,
C
y
c
l
e
s
E
x
e
c
u
t
e
d
2
4
,
B
i
n
d
i
n
g
s
G
l
o
b
a
l
`
y
4
.
2
,
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
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
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
"
"