Subject: Re: the position of tof77 first. Re: transformation method about function

From: Zheng Gengbin <[email-masked]>
Date: Tue, 13 May 1997 20:00:19 +0800 (EAT)

On Fri, 9 May 1997, Guansong Zhang wrote:

> On May 9, 10:54am, Zheng Gengbin wrote:
> 
> > >
> > >
> > > Here is a problem: when do you want to carry out tof77 transformation?
> > >
> > > To me, the reasonable place seems to be after trans0.
> > >
> > > And the question I asked last time is how trans0 deal with this.
> > >
> >
> >
> > 	I think the best place to put the transformation is somewhere before
> > trans0 , because after the transformation , trans0 need not take special
> > care of this , I think .  It will treat the code after transformation just
> > the same as other normal subroutine calls .
> >
> 
> Before anything can be discussed further. We need a common agreement: where is
> tof77 performed.
> 
> As I think tof77 can be put after trans0.
> 
> The main reason is that in this case we can seperate things more clearly.
> 
> trans? will take care of node program generation, and scince there is more
> things in f90 language, comparatively speaking, using f90 as node code will
> give us more convenience. In fact, we only need part of f90 feathers from
> trans0 point of view. For things there exists conterpart in f77, such as do
> construct, we will use f77 one instead of f90 one (i.e. usedo construct instead
> of array assign in node program).
> 
> In this way, once 90 compiler is available, we don't need anything more, the
> compiler is done. And if we want more, one more pass can be added.
>
> Among trans?, the trans0 is for node program generation. And all those transX
> (where X > 0) can be considered as format processing, they keep original HPF
> semantics, when ever we fill that there should be some thing difficult to
> perform in trans0, but with some modification, it becomes something we knew, we
> can add a pass like trans1 for data mapping and trans2 for array assignment.
> 
> Some f90 features may also be handled in this way. But this does not mean we
> need to put tof77 before trans0. (If we define tof77 is a program to translate
> f90 language to f77.)
> 
> The reasons we have a tof77 are:
> 
> 1) some machine may not have f90.
> 2) somehow, it is believed f77 has better performance than f90
> 
> As time went on, these reason may not exist. So it doen't sound good to let
> trans0 depends on tof77.
> 
> Please make comments on this. After this we can resume the discussion on how to
> translate functions.
> 

	I cannot see any difference between us on the position of tof77 .
Our initial goal of tof77 is to add an additional pass to transform f90
grammar to f77 .

Zheng geng bin is a big bad egg.

---

From: Zheng Gengbin <[email-masked]>
Date: Tue, 13 May 1997 22:15:33 +0800 (EAT)

> > Please make comments on this. After this we can resume the discussion on how to

Sorry , a little boy play a joke with me just in the letter before this 
one  :-) .

	I cannot see any difference between us on the position of tof77 .
Our initial goal of tof77 is to add an additional pass to transform f90
grammar to f77 if we have no f90 compiler . If trans0 , the node program
generator can take care of the fortran 90's grammar , tof77 do can be 
put after it . 

	So ,the problem is not to decide where tof77 is to be put , but to 
judge if the function translations is some kind of the f90 to f77 
converter or it is needless for a f90 compiler .

Zheng Gengbin