Proceedings of the ASIAN Symposium on Partial Evaluation and Semantics-Based Program Manipulation 2002
DOI: 10.1145/568173.568174
|View full text |Cite
|
Sign up to set email alerts
|

Automatic generation of efficient string matching algorithms by generalized partial computation

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 generate… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
1
1
1

Citation Types

0
15
0

Year Published

2002
2002
2016
2016

Publication Types

Select...
4
3

Relationship

0
7

Authors

Journals

citations
Cited by 11 publications
(15 citation statements)
references
References 13 publications
0
15
0
Order By: Relevance
“…It is also the most popular Boyer-Moore variant in the program generation community [7,16,26] 3 2 4 6 8 10 9 8 7 |pattern| Original GS 3 2 4 5 4 6 7 6 8 9 8 10 9 8 7 |pattern| The Automaton group Finally, we consider the Automaton and other matchers that rely solely on table comparisons. Since no negative information is ever generated, such matchers probe each text character at most once as long as positive information is not pruned.…”
Section: The Basic Matchersmentioning
confidence: 99%
“…It is also the most popular Boyer-Moore variant in the program generation community [7,16,26] 3 2 4 6 8 10 9 8 7 |pattern| Original GS 3 2 4 5 4 6 7 6 8 9 8 10 9 8 7 |pattern| The Automaton group Finally, we consider the Automaton and other matchers that rely solely on table comparisons. Since no negative information is ever generated, such matchers probe each text character at most once as long as positive information is not pruned.…”
Section: The Basic Matchersmentioning
confidence: 99%
“…To obtain this effect, one can either rewrite the matcher so that backtracking only depends on static data (such a rewriting is known as a binding-time improvement or a staging transformation [34]) and use a simple partial evaluator [5,15], or keep the matcher as is and use an advanced partial evaluator [18,37,38,40]. In this article, the starting point is a staged quadratic-3 time matcher and a simple memoizing partial evaluator, such as Similix, where specialization points are dynamic conditional expressions [8].…”
Section: Obtaining a Specialized Matcher That Work In Linear Timementioning
confidence: 99%
“…Examples of the methods used are Dijkstra's invariants [17], Bird's recursion introduction and tabulation [7], Takeichi and Akama's equational reasoning [41], Colussi's Hoare logic [14], and Hernández and Rosenblueth's logicprogram derivation [25]. Variants of the Boyer-Moore have also been reconstructed: both by partial evaluation [4,18], and by logic-program derivation [24].…”
Section: Related Workmentioning
confidence: 99%
See 2 more Smart Citations