Control Localization in Domain Specific Translation [chapter]

Ted J. Biggerstaff
2002 Lecture Notes in Computer Science  
Domain specific languages (DSLs) excel at programming productivity because they provide large-grain composite data structures (e.g., a graphics image) and large-grain operators for composition (e.g., image addition or convolution). As a result, extensive computations can be written as APL-like oneliners that are equivalent to tens or hundreds of lines of code (LOC) when written in a conventional language like Java. The problem with DSL specifications is that they de-localize the control
more » ... ts making un-optimized machine translations significantly slower than for the human optimized equivalent. Specifically, operations on DSL composites imply multiple control structures (e.g., loops) that process the individual elements of large-grain composites and those multiple, implicit control structures are distributed (i.e., delocalized) across the expression of operators and operands. Human programmers recognize the relation among these distributed control structures and merge them to minimize the redundancy of control. For example, merged control structures may perform several operations on several large-grain data structures in a single pass. This merging is the process of control localization. This paper discusses strategies for automating localization without large search spaces and outlines a domain specific example of transformation rules for localizing control. The example is based on the localization method in the Anticipatory Optimization Generator (AOG) system [3] [4] [5] [6] [7] [8] .
doi:10.1007/3-540-46020-9_11 fatcat:mdfr26dwjvgqlfmd6fks4ctkxy