ACM Home Page
Please provide us with feedback. Feedback
Automatic generation of efficient string matching algorithms by generalized partial computation
Full text PdfPdf (241 KB)
Source ACM/SIGPLAN Workshop Partial Evaluation and Semantics-Based Program Manipulation archive
Proceedings of the ASIAN symposium on Partial evaluation and semantics-based program manipulation table of contents
Aizu, Japan
Pages: 1 - 8  
Year of Publication: 2002
ISBN:1-58113-458-4
Authors
Yoshihiko Futamura  Waseda University, Tokyo, Japan
Zenjiro Konishi  Waseda University, Tokyo, Japan
Robert Glück  Waseda University, Tokyo, Japan
Sponsor
SIGPLAN: ACM Special Interest Group on Programming Languages
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 2,   Downloads (12 Months): 31,   Citation Count: 5
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/568173.568174
What is a DOI?

ABSTRACT

This paper shows that Generalized Partial Computation (GPC) can automatically generate efficient string matching algorithms. GPC is a program transformation method utilizing partial information about input data and auxiliary functions as well as the logical structure of a source program. GPC uses both a classical partial evaluator and an inference engine such as a theorem prover to optimize programs. First, we show that a Boyer-Moore (BM) type pattern matcher without the bad-character heuristic can be generated from a simple non-linear backward matcher by GPC. This sort of problems has already been discussed in the literature using offline partial evaluators. However, there was no proof that every generated matcher runs in the same way as the BM. In this paper we prove that the problem can be solved starting from a simple non-linear pattern matcher as a source program. We also prove that a Knuth-Morris-Pratt (KMP) type linear string matcher can be generated from a naive non-linear forward matcher by GPC.


REFERENCES

Note: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.

1
 
2
Amtoft, T., Consel, C., Danvy, O. and Malmkjaer, K.: The abstraction and instantiation of string-matching programs, BRICS RS-01-12, Department of Computer Science, University of Aarhus, April 2001.
3
 
4
 
5
 
6
 
7
Futamura, Y. and Nogi, K.Generalized partial computation. in Bjørner, D. and Ershov, A. P. and Jones, N. D. (eds), Partial Evaluation and Mixed Computation, 133--151, North-Holland, 1988.
 
8
 
9
 
10
11
 
12
Knuth, D.E., Morris, J. and Pratt, V.: Fast pattern matching in strings. SIAM Journal on Computing, 6(1973), 325--350.
13
 
14
Sørensen M. H., Glück R., Jones N. D., A positive supercompiler. In: Journal of Functional Programming, 6(6), 1996. 811--838.


Collaborative Colleagues:
Yoshihiko Futamura: colleagues
Zenjiro Konishi: colleagues
Robert Glück: colleagues