| M. H. S#rensen. A Grammar-Based Data-Flow Analysis to Stop Deforestation. In S. Tison, editor, Proceedings of the 19th Colloquium on Trees in Algebra and Programming (CAAP), number 787 in Lecture Notes in Computer Science, pages 335351. Springer Verlag, 1994. |
....To summarize, a projection is a function; when applied to constructed data, it returns the data with the dead parts, i.e. parts corresponding to AB, replaced by . Grammar based projections. Regular tree grammars have been used to describe recursive substructures and other data flow information [26, 36, 37, 5, 48, 14, 46]. We describe partially dead recursive data using projections that are represented using regular tree grammars. A regular tree grammar based projection G, called regular tree grammars for short, is a quadruple hT ; N ; P ; Si, where T is a set of terminal symbols including ID, AB, and T c for all ....
....of f i O (k) s rather than f i(k) s, until all needed f i O (G) s stabilize. This approximates the possibly non existing fixed point, forcing the iteration to terminate while guaranteeing that the sufficiency conditions are satisfied. Widening operations have been defined implicitly [4, 48] or explicitly [14] for regular tree grammars. The idea is to enforce the use of deterministic regular tree grammars, i.e. grammars that do not produce N s ) c n (N 1 ; Nn ) and N s ) c n (N 0 1 ; N 0 n ) with N 0 i 6= N i for some i. For grammars with productions only ....
[Article contains additional citation context not shown here]
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, CAAP'94: Proceedings of the 19th International Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, Berlin, Apr. 1994.
....say, cons(2; cons(4; nil) yields ; cons( cons( nil) in which cons( cons( nil) is the least upper bound. Formally, the grammars we use for describing liveness patterns are regular tree grammars [16] which allow bounded, and often precise, representations of unbounded data [23, 38, 39, 2, 51, 9, 45]. A regular tree grammar based liveness pattern G is a quadruple hT ; N ; P ; Si, where T is a set of terminal symbols including L, D, and all possible constructors c, N is a set of nonterminal symbols N , P is a set of productions of the form: N D; N L; or N c n (N 1 ; Nn ) 4) and ....
....function parameters. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [22] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [38, 39, 2, 11, 59, 51, 45]. In particular, the analysis for backward slicing by Reps and Turnidge [45] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, CAAP'94: Proceedings of the 19th International Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, Berlin, Apr. 1994.
....say, cons(2; cons(4; nil) yields ; cons( cons( nil) in which cons( cons( nil) is the least upper bound. Formally, the grammars we use for describing liveness patterns are regular tree grammars [15] which allow bounded, and often precise, representations of unbounded data [21, 33, 34, 2, 44, 9, 40]. A regular treegrammar based liveness pattern G is a quadruple hT ; N ; P ; Si, where T is a set of terminal symbols including L, D, and all possible constructors c, N is a set of nonterminal symbols N , P is a set of production rules of the form: N D; N L; or N c n (N 1 ; Nn ) 4) ....
....are crude. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [20] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [33, 34, 2, 11, 50, 44, 40]. In particular, the analysis for backward slicing by Reps and Turnidge [40] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, CAAP'94: Proceedings of the 19th International Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, Berlin, Apr. 1994.
....and we explain how hand rewriting the matcher using an idea due to Consel and Danvy (1989) solves the problem. 6.1 Pattern matching with the positive supercompiler Applying the positive supercompiler P to the term match AAB ss 0 returns the almost optimal program in Figure 11. 16 M.H. S rensen, R. Gluck, and N.D. Jones loopAAB ss0 loopAAB ss = case ss of [ F alse (s 0 : ss 0 ) if A = s 0 then loopAB ss 0 else loopAAB ss 0 loopAB ss = case ss of [ F alse (s 0 : ss 0 ) if A = s 0 then loopB ss 0 else if A = s 0 then loopAB ss 0 else loopAAB ss 0 loopB ss = case ss of [ F alse (s ....
Sørensen, M.H. 1994b. A grammar-based data-flow analysis to stop deforestation. In Trees in Algebra and Programming, Tison S. (ed.), Lecture Notes in Computer Science, Vol.
....say, cons(2; cons(4; nil) yields ; cons( cons( nil) in which cons( cons( nil) is the least upper bound. Formally, the grammars we use for describing liveness patterns are regular tree grammars [16] which allow bounded, and often precise, representations of unbounded data [23, 36, 37, 2, 50, 9, 44]. A regular treegrammar based liveness pattern G is a quadruple hT ; N ; P ; Si, where T is a set of terminal symbols including L, D, and all possible constructors c, N is a set of nonterminal symbols N , P is a set of productions of the form: N D; N L; or N c n (N 1 ; Nn ) 4) and ....
....function parameters. The idea of using regular tree grammars for program flow analysis is due to Jones and Muchnick [22] where it is used mainly for shape analysis and hence for improving storage allocation. It is later used to describe other data flow information such as types and binding times [36, 37, 2, 11, 58, 50, 44]. In particular, the analysis for backward slicing by Reps and Turnidge [44] explicitly adopts regular tree grammars to represent projections. It is closest in goal and scope to our analysis. However, it uses only a limited class of regular tree grammars, in which each nonterminal appears on the ....
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, CAAP'94: Proceedings of the 19th International Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, Berlin, Apr. 1994.
....analysis of programs. Formal language theory is a powerful framework for representing unbounded structures using bounded representations, which are often even precise [12] In particular, regular tree grammars have been used to describe partial data structures and other data flow information [20, 30, 31, 5, 38, 12, 36]. We describe partially dead recursive data using projections that are represented using regular tree grammars. A regular tree grammar based projection G is a quadruple hT ; N ; P; Si, where T is a set of terminal symbols including ID, AB, and T c for all constructors c, N is a set of nonterminal ....
....of f i O (k) s rather than f i(k) s, until all f i O (G) s involved stabilize. This approximates the possibly non existing fixed point, forcing the iteration to terminate while guaranteeing that the sufficiency conditions are satisfied. Widening operations have been defined implicitly [4, 38] or explicitly [12] for regular tree grammars. The idea is to enforce the use of deterministic regular tree grammars, i.e. grammars that do not produce N s ) c n (N 1 ; N n ) and N s ) c n (N 0 1 ; N 0 n ) For grammars with only productions of the form (5) this means that ....
[Article contains additional citation context not shown here]
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, CAAP'94: Proceedings of the 19th International Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351, Edinburgh, U.K., April 1994. Springer-Verlag, Berlin.
....However, his source language is only first order and his method is not completely automatic. We have identified his method as an application of the interpretive approach. Our abstract domain is similar to one used by Mogensen [23] There is also a close relation to grammar based analyses [21, 24, 28]. Moreover, mapping an arbitrary b to the least b 0 in the restricted lattice can be regarded as a widening operator [8, 9, 10] The idea of using self application to obtain stand alone generating extensions came from Futamura [13] Turchin and Ershov later extended the idea to compiler ....
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, Edinburgh, Apr. 1994.
....languages by different kinds of formal systems such as grammars or systems of set constraints. The idea of using regular tree grammars for program analysis, is due to Jones and Muchnick [22, 23, 24] following Reynolds [29] It was further developed by Aiken, Mishra, Murphy, Reddy and S rensen [2, 27, 30], implemented by Aiken and Murphy [1] and reformulated by Heintze and Jaffar [16, 17, 19, 20] as set constraint based program analysis. We show that in such formal language based program analyses, the abstract semantics specifying the strongest abstract program property is defined as the least ....
.... fl gr fl gr ffi F gr and is computable; e) The increasing chain F gr n ( gr ) n 0 of iterates is not converging in a finite number of steps to an approximation S gr of S fl = lfp F fl (so that a widening is necessary) Widenings for regular tree grammars have been defined implicitly in [1, 30] 9 . A similar widening is obtained by enforcing the iterates to deterministic regular tree grammars (i.e. without two different productions of the form X ) f n (T 1 ; T n ) and X ) f n (T 0 1 ; T 0 n ) Such a widening G 1 5 G 2 can be defined as the repeated ....
[Article contains additional citation context not shown here]
M. H. Sørensen. A grammar-based data-flow analysis to stop deforestation. Proc. 19 th CAAP'94, LNCS 787, 335--351. Springer-Verlag, 1994.
No context found.
M. H. Sørensen. A Grammar-Based Data-Flow Analysis to stop Deforestation. In S. Tison (ed.), Trees in Algebra and Programming - CAAP '94. Proceedings. (Edinburgh, Scotland). Lecture Notes in Computer Science, Vol. 787, 335-351, Springer-Verlag 1994.
....are harder to discover than to solve; the role of a good supervisor is, I think, to provide the student with interesting problems. As such I think that Neil has done, and continues to do, a perfect job. The idea of using a grammar analysis to ensure termination of deforestation that I pursued in [Sor93a,Sor93b,Sor94a] is due to Neil. The question of the relation between deforestation and supercompilation, which in fact motivated the very formulation of the driving algorithm studied in this thesis, and many of the subsequent developments, came from Neil. Also, comments from Neil beyond a degree of detail that ....
....program again yields the program unchanged. 4 2 The problem of the Accumulating Side effect The two problems in the preceding two sections are quite well known in the literature on deforestation, as can be seen in the works of Chin [Chi90,Chi92b,Chi93a] Hamilton [Ham91,Ham92b] and the author [Sor93a,Sor93b,Sor94a]. But we saw in part II that positive supercompilation is stronger than deforestation in some respects. It is therefore natural to expect that new problems in ensuring termination pop up. The problem described in this section will be seen to be the new problem that pops up. Example 12.1.3 (The ....
[Article contains additional citation context not shown here]
M. H. Sørensen. A Grammar-Based Data-Flow Analysis to Stop Deforestation. Accepted for Colloqium on Trees and Algebra in Programming (CAAP) `94. To appear as Lecture Notes in Computer Science, 1994.
....less well known, it can also partially evaluate. For instance, applying deforestation to a (A : B : x) C : y) where a is the well known append function, yields A : B : f x y where f is defined as f [ ws C : ws f (v : vs) ws v : f vs ws) Termination safe extensions of deforestation [Chi93, Sor94a] use automatically precomputed annotations to tell where to abstract ( generalize=extract) so that enough folding takes place to ensure termination. Supercompilation is a powerful technique due to Turchin [Tur86] continuing Soviet work from the early 1970 s) which can achieve effects of both ....
M. H. Sørensen. A Grammar-based Data-flow Analysis to Stop Deforestation. In Colloqium on Algebra in Trees and Programming. Edinburgh, Scotland, April 1994, to appear.
....are approximated by a usage counting analysis. The safe blazing schemes by Chin and Hamilton are at least partly syntactic: they mark parts of the program that violate some version of the linear, treeless syntax, thereby failing to improve such subterms. In contrast, S rensen and Seidl [59,50] compute a constraint based control flow analysis which approximates whether deforestation of a given program terminates. This information is used to blaze in a termination safe way. The technique is conservative over Wadler s technique (and the core of Chin s and Hamilton s syntactic techniques) ....
....of such extensions stems from the fact that the blazing scheme is syntactic; it does not take into account what happens during deforestation. In contrast, Seidl and S rensen [52] give a single technique coping with many of these problems by generalizing their constraint based control flow analysis [59,50] to work for higher order deforestation. The technique is partly conservative over the ones based on the higher order treeless syntax: for a certain large class of higher order treeless programs the technique discovers that no marks are required. Moreover, for some non treeless programs, it ....
[Article contains additional citation context not shown here]
M.H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, 1994.
....due to Chin [6, 7, 9, 10, 12] and later to Hamilton [20, 21, 23, 24] The essence of these techniques is to annotate all parts of the program that violate the treeless syntax, and then let the deforestation algorithm skip over annotated parts. Following a suggestion of Jones, the second author [47] developed a technique that annotates fewer parts of the program. Inspired by earlier work on tree grammars by Jones [29] the technique computes a tree grammar which approximates the set of all terms encountered by deforestation of some program. Inspired by work of Heintze [25] the first author ....
....techniques. While doing so, we extract quantitative information to detect whether deforestation will proceed indefinitely, and if so, we annotate parts of the program responsible for the indefinite transformation. The technique is a generalization of our technique for first order deforestation [47, 44]. Section 2 presents our higher order language, and Section 3 presents higher order deforestation. Section 4 shows the sources of non termination of deforestation. Section 5 introduces constraint systems, and Section 6 uses constraints to approximate deforestation. Section 7 shows how to calculate ....
[Article contains additional citation context not shown here]
M.H. Sørensen. A grammar-based data-flow analysis to stop deforestation. In S. Tison, editor, Colloquium on Trees in Algebra and Programming, volume 787 of Lecture Notes in Computer Science, pages 335--351. Springer-Verlag, 1994.
No context found.
M. H. S#rensen. A Grammar-Based Data-Flow Analysis to Stop Deforestation. In S. Tison, editor, Proceedings of the 19th Colloquium on Trees in Algebra and Programming (CAAP), number 787 in Lecture Notes in Computer Science, pages 335351. Springer Verlag, 1994.
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