DocumentCode
1078684
Title
Defining, analyzing, and transforming program constructs
Author
Li, Jingke ; Wolfe, Michael
Author_Institution
Portland State Univ., OR, USA
Volume
2
Issue
1
fYear
1994
Firstpage
32
Lastpage
39
Abstract
We have developed a framework for analyzing the behavior and relations of various sequential and parallel control constructs, which we can nest in a very general way. A simple yet powerful scheme defines the order of data accesses in a program, and provides a well-founded semantic structure for nested constructs. When defining parallel languages or extensions to current languages, designers can use this framework to define how each new feature interacts with the language´s other features. Because our approach is based on well-known dependence analysis techniques, it is practical for compiler implementation. It determines which behavior the compiler and system must preserve while allowing aggressive automatic optimization. Instead of being confined to a single programming paradigm, programmers can use the most appropriate constructs for the application, and the compiler can transform and optimize the program for different parallel or sequential architectures.<>
Keywords
computational linguistics; functional programming; parallel languages; parallel programming; program compilers; systems analysis; automatic optimization; compiler implementation; construct analysis; construct definition; construct transformation; data accesses; dependence analysis techniques; nested constructs; parallel control constructs; parallel languages; program constructs; semantic structure; sequential control constructs; Computer architecture; Computer languages; Optimizing compilers; Parallel languages; Parallel processing; Program processors; Programming profession; Supercomputers; Testing; Workstations;
fLanguage
English
Journal_Title
Parallel & Distributed Technology: Systems & Applications, IEEE
Publisher
ieee
ISSN
1063-6552
Type
jour
DOI
10.1109/88.281872
Filename
281872
Link To Document