| Morten Heine Srensen, Robert Gluck, and Neil D. Jones. A positive supercompiler. Journal of Functional Programming, 6(6):811--838, 1996. |
....has essentially followed two channels: managing static information explicitly vs. managing static information implicitly. 6. 1 Explicit management of static information A number of variants of the naive string matcher have been published that keep a static trace of the dynamic prefix explicitly [5, 34, 50, 51]. However, as the 20 (define (match abb t) define (loop pc 1 bt lt z) let ( bt ( bt z) lt ( lt z) if ( lt 3) 1 (loop pt 1 bt lt) define (loop pt 1 bt lt) if (equal (string ref t ( bt 2) # b) if (equal (string ref t ( bt 1) # b) if (equal (string ref t ( bt 0) ....
....quadratic string matching program into a KMPlike residual program. Such partial evaluators include Futamura s Generalized Partial Computation [26] Smith s partial evaluator for constraint logic programming languages [48] Queinnec and Ge#roy s intelligent backtracking [46] supercompilation [28, 29, 49, 50, 51], partial deduction [44] partial evaluators for functional logic programs [4, 40] and the composition of a memoizing interpreter and a standard partial evaluator [27] Like Similix, none of these partial evaluators has been proven correct and there are no guarantees about the resources required ....
Morten Heine Srensen, Robert Gluck, and Neil D. Jones. A positive supercompiler. Journal of Functional Programming, 6(6):811--838, 1996.
....of a pattern in a text, a partial evaluator specializes this string matcher with respect to a pattern and yields a residual program that traverses the text in linear time. The problem was first stated by Yoshihiko Futamura in 1987 [15] and since then, it has given rise to a variety of solutions [2, 3, 10, 13, 14, 16, 19, 25, 28, 29, 32, 33]. For 15 years, however, it has also been pointed out that the traditional solution only solves half of the problem. Indeed, the Knuth Morris Pratt matcher first produces a next table in time linear in the length of the pattern and then traverses the text in time linear in the length of the ....
.... this e#ect, 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 [27] and use a simple partial evaluator [4, 10] or keep the matcher as is and use a sophisticated partial evaluator [13, 29, 32]. In this article, the starting point is a staged quadratic3 time matcher and a simple memoizing partial evaluator, such as Similix, where specialization points are dynamic conditionals and dynamic functions [6] Figure 1 displays a staged matcher similar to the ones developed in the literature ....
Morten Heine Srensen, Robert Gluck, and Neil D. Jones. A positive supercompiler. Journal of Functional Programming, 6(6):811--838, 1996.
Online articles have much greater impact More about CiteSeer.IST Add search form to your site Submit documents Feedback
CiteSeer.IST - Copyright Penn State and NEC