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. © 2006 Elsevier B.V. All rights reserved.
Danvy, O., & Rohde, H. K. (2006). On obtaining the Boyer-Moore string-matching algorithm by partial evaluation. Information Processing Letters, 99(4), 158–162. https://doi.org/10.1016/j.ipl.2006.04.001