The distributed data problem is characterized by the desire to bring together semantically related data from syntactically unrelated portions of a term. A strategic combinator called transient and a strategic constant...
详细信息
The distributed data problem is characterized by the desire to bring together semantically related data from syntactically unrelated portions of a term. A strategic combinator called transient and a strategic constant called skip are introduced in the context of a higher-order strategic framework. The notion of traversal is lifted to the higher order as well. The resulting framework allows the manipulation of data to be expressed directly in strategic terms. The impact of this dynamic approach to strategy creation is then explored for several instances of the distributed data problem. problems considered include three strategic benchmarks as well as two transformations that arise within a class loader for the Java virtual machine. (C) 2004 Elsevier B.V. All rights reserved.
Optimizing compilers often perform an operation known as common subexpression elimination to improve code efficiency. Typically this is accomplished either by pruning a directed acyclic graph to replace eliminated sub...
详细信息
Optimizing compilers often perform an operation known as common subexpression elimination to improve code efficiency. Typically this is accomplished either by pruning a directed acyclic graph to replace eliminated subexpressions by memory fetches of stored values or by using partial-redundancy elimination, a data-flow analysis method. In this paper a higher-order strategic method is presented that rewrites expression trees to eliminate common subexpressions using equivalences in the lambda calculus. This approach offers several advantages-it is intuitive, transformations can be defined and applied within a high-level rewrite system, and it uses transformations for which correctness preservation can be proven. (C) 2008 Elsevier Ltd. All rights reserved.
暂无评论