Object-Oriented Dependence-Analyzer Construction for Parallelizing Compilers

碩士 === 國立成功大學 === 資訊工程學系 === 86 === The main difference between parallelizing compilers and conventionalcompilers is in the loop transformation of sequential languages. In general, theprocess of loop transformation includes dependence a...

Full description

Bibliographic Details
Main Authors: Yeh, Yin-Lin, 葉盈麟
Other Authors: Chu Chih-Ping
Format: Others
Language:zh-TW
Published: 1998
Online Access:http://ndltd.ncl.edu.tw/handle/97798187458325268228
Description
Summary:碩士 === 國立成功大學 === 資訊工程學系 === 86 === The main difference between parallelizing compilers and conventionalcompilers is in the loop transformation of sequential languages. In general, theprocess of loop transformation includes dependence analysis, loop optimization, measurement on the effect of loop parallelization, and parallel code generation. The object-oriented software development technology, because it encapsulates data structures and operations into objects and utilizes somefacilities ( inheritance, polymorphism, dynamic binding) to increase softwarereusability, has increased the productivity of software for many applicationsunder the support of object libraries. In this thesis we use the object-oriented methods and techniques to studyobject-oriented dependence-analyzer construction for parallelizing compilers.First, we study the front-end subsystem which generates the loop structure and gets the features of the processed loop. The logic for this sub-system is toanalyze the syntax of input language based on objects, and then identify theclasses included in the syntax. Next, we design an operation flow for dependenceanalysis subsystem that includes two major components called loop normalizer anddependence analyzer. We investigate the included objects and their functions forthe two subsystems, establish the classes for these objects, and use them to forma class library. Experiment to test the feasibility of building a dependence analyzer basedon the existed objects shows that it is indeed feasible. This implies that usingobject library associated with some compiler-compilers such as Lex, Yacc, Bison,Flex, etc. the cost of developing parallelizing compilers can be reducedsignificantly.