On Obtaining the Boyer-Moore String-Matching Algorithm by Partial
Evaluation
Olivier Danvy
September 2005 |
Abstract:
We present the first derivation of the search phase of the
Boyer-Moore string-matching algorithm by partial evaluation of an inefficient
string matcher. The derivation hinges on identifying the
bad-character-shift heuristic as a binding-time improvement, bounded
static variation. An inefficient string matcher incorporating this
binding-time improvement specializes into the search phase of the Horspool
algorithm, which is a simplified variant of the Boyer-Moore algorithm.
Combining the bad-character-shift binding-time improvement with our
previous results yields a new binding-time-improved string matcher that
specializes into the search phase of the Boyer-Moore algorithm
Available as PostScript, PDF, DVI. |