1995
DOI: 10.1137/s0097539793246252
|View full text |Cite
|
Sign up to set email alerts
|

Adaptive Pattern Matching

Abstract: Pattern matching is an important operation used in many applications such as functional programming, rewriting and rule-based expert systems. By preprocessing the patterns into a DFA-like automaton, we can rapidly select the matching pattern(s) in a single scan of the relevant portions of the input term. This automaton is typically based on left-to-right traversal (of the patterns) or its variants. By adapting the traversal order to suit the set of input patterns, it is possible to considerably reduce the spac… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3
1
1

Citation Types

0
27
0

Year Published

2002
2002
2016
2016

Publication Types

Select...
6
2

Relationship

0
8

Authors

Journals

citations
Cited by 46 publications
(27 citation statements)
references
References 9 publications
0
27
0
Order By: Relevance
“…The general problem of pattern matching is NP-Complete [10]. Thus we expect the worst-case performance of the generic algorithm to be exponential.…”
Section: Performancementioning
confidence: 99%
“…The general problem of pattern matching is NP-Complete [10]. Thus we expect the worst-case performance of the generic algorithm to be exponential.…”
Section: Performancementioning
confidence: 99%
“…The size of the uncovered set is the square of the number of constructors in T. It gets worse: Sekar et al [26] show that the problem of finding redundant clauses is NP-complete, by encoding the boolean satisfiability (SAT) problem into it. So the worst-case running time is necessarily exponential.…”
Section: Complexitymentioning
confidence: 99%
“…[3,14]. Such tree-based approaches guarantee that no constructor symbol is inspected twice, but doing so leads to exponential upper bounds on the automaton size.…”
Section: Related Workmentioning
confidence: 99%
“…However, since the optimization problem is NP-complete, [3] argues that heuristics should be employed to find near-optimal trees. In the same spirit, [14] also suggests several different heuristics to synthesize an adaptive traversal order that results in a tree automaton of small size. To further decrease the size of the automaton they generate a directed acyclic graph (DAG) automaton by sharing all isomorphic subtrees.…”
Section: Related Workmentioning
confidence: 99%
See 1 more Smart Citation