Subject: Re: your mail

From: Zheng Gengbin <[email-masked]>
Date: Tue, 29 Oct 1996 10:08:34 +0800 (EAT)

On Mon, 28 Oct 1996, Guansong Zhang wrote:

> Subject: Re: Version 1.63 
> In-reply-to: Your message of "Fri, 25 Oct 1996 09:56:27 +0800."
>              <[email-masked]> 
> Mime-Version: 1.0
> Content-Type: text/plain; charset=us-ascii
> --------
> The bug in the following program:
> 
> program test
> 
> type t1
> integer a
> end type
> 
> type t2
> type (t1)  b
> end type 
> 
> type(t2) tp
> 
> tp%b%a=10
> 
> end
> 
> 
> is definition related.
> 
> Please look the dump result of this program:
> 
> ***L0W-LEVEL NODES***
> 
>     id    var    type    symb    ll1     ll2                     tag...
>     1-E   479     1-T    ----    ----    ----                       TYPE_OP
>     2-E   307    ----     5-S    ----    ----                       VAR_REF
>     3-E   312     9-T    ----     2-E    ----                     EXPR_LIST
>     4-E   479    12-T    ----    ----    ----                       TYPE_OP
>     5-E   307    ----     7-S    ----    ----                       VAR_REF
>     6-E   312     9-T    ----     5-E    ----                     EXPR_LIST
>     7-E   479    13-T    ----    ----    ----                       TYPE_OP
>     8-E   307    ----     8-S    ----    ----                       VAR_REF
>     9-E   312     9-T    ----     8-E    ----                     EXPR_LIST
>    10-E   307    13-T     8-S    ----    ----                       VAR_REF
>    11-E   307    12-T     7-S    ----    ----                       VAR_REF
>    12-E   312    ----    ----    11-E    15-E                     EXPR_LIST
>    13-E   307     1-T     5-S    ----    ----                       VAR_REF
>    14-E   312    ----    ----    13-E    ----                     EXPR_LIST
>    15-E   312     9-T    ----    14-E    ----                     EXPR_LIST
>    16-E   312    ----    ----    10-E    ----                     EXPR_LIST
>    17-E   312     9-T    ----    12-E    ----                     EXPR_LIST
>    18-E   309     1-T    ----    16-E    17-E                    RECORD_REF
>    19-E   300     1-T                      10                       INT_VAL
> 
> 
> in which 19-E is a record_ref, unparse print out a % according to this tag.
> 
> Why 12-E is not a record_ref, but an EXPR_LIST? what is the definition for the 
> record_ref, and the expr_list in record_ref?
> 
> Guansong
> 
> 

	The current defintion is :

	             RECORD_REF
                         |
                  +----------------+
                  |                |
              EXPR_LIST        EXPR_LIST
                                   |
                             +-------------+
                             |             |
                        EXPR_LIST       NULL
                             |
                      +--------------+
                      |              |
                   VAR_REF         EXPR_LIST
                                       ...

	You can see in the right hand side ,  an unneeded EXPR_LIST is created
in hpf2dep , This is different from the AST we originally designed .

                     RECORD_REF
                         |
                  +----------------+
                  |                |
              EXPR_LIST        EXPR_LIST
                                   |
                              +-----------+
                              |           |
                           VAR_REF    EXPR_LIST
                                           ...

	But after I change original defintion to this one , unparser still
can not produce the right result .

Zheng