Subject: Re: your mail

From: Cheng Xu <[email-masked]>
Date: Mon, 13 Nov 1995 15:10:31 +0800 (EAT)

Hi, Prof. Li,

Message received!

> It is ounusual to see such a stunning silence from BeiDa site.

I have sent some messages to you in the last week, including our Sage
result. Maybe, they are all lost for the problem with email system. 

Now, we have gotten a .dep of the sample using the modified sage++ 
parser. Fortunately, there is no much difference between our results. 
To parse the Sample using Sage++, We have to separate the instructions in 
the same line to more instructions to satisfy only one instruction in one 
line. I re-send this result to you attached with this mail.

We are adding appropriate actions to Li Xinying's Yacc. After we have 
finished the work, we will replace the original parser with the new one 
to generate the .dep of the sample. 

By the way,  We have modified some header files:  f2dep/defs.h, 
h/bif.h, h/ll.h, h/symb.h  and  h/tag based on Bedai definition. For 
the structure and organization of header files in Sage++ are very
complicated. We can't guarantee above modified .h files can work smoothly
with Sage now. We will test above .h files and send them to HIT and you
ASAP. 

Regards

--------
Chengxu

     1         SUBROUTINE SWAP_INTEGERS (ARG_A, ARG_B)
     2         	INTEGER, INTENT (INOUT) :: ARG_A, ARG_B
     3         	INTEGER :: TEMP
     4         	TEMP=ARG_A
     5         	ARG_A=ARG_B
     6         	ARG_B=TEMP
     7         END
     8         
     9         MODULE T_FORD
    10         REAL,  DIMENSION(100, 100) :: A
    11         ENDMODULE T_FORD
    12         
    13         PROGRAM COINED
    14         
    15         TYPE NOUSE
    16         	REAL(SELECTED_REAL_KIND(10,30)) :: R1,  R2
    17         END TYPE NOUSE
    18           
    19         USE T_FORD
    20         
    21         FORALL (I=1: 100)
    22           A(I, I)=I
    23         
    24         PRINT *,  A(3, :),  A(:,  1:99:2)
    25         
    26         SERCH_LOOP: DO I = 1,  100
    27         	IF (ITEM ==A(I, 100)) THEN
    28         		LOCATION = I
    29         		EXIT SERCH_LOOP
    30         	END IF
    31           END DO SERCH_LOOP
    32         
    33         END
    34         
    35         
    36         
    37         
$f s.f

Source is "s.f"

 #blob  #bfnd  #llnd  #symb      #type  #labl  GblBf #deps  #cmnt  #file
-------------------------------------------------------------------------
   25     26     79     16	   17     0      1      0      0      1

***BIF NODES***

  id  var  cp   bp1  cmnt  sym    lp1    lp2    lp3    dp1  dp2   lab  lbl glin llin  file  thread
  1-B 100  ----  --  ----  ----   ----   ----   ----   --   --   ----  --   0    0     1-F     2-B       GLOBAL
               2-B     9-B    12-B    --
              --
         decl_specs(bits set)= 
  2-B 102   1-B  --  ----   2-S   ----   ----   ----   --   --   ----  --   1    1     1-F     3-B    PROC_HEDR
               3-B     4-B     5-B     6-B     7-B     8-B    --
              --
         decl_specs(bits set)= 
  3-B 154   2-B  --  ----  ----    4-E    5-E    2-E   --   --   ----  --   2    2     1-F     4-B     VAR_DECL
              --
              --
         decl_specs(bits set)= 
  4-B 154   2-B  --  ----  ----    9-E   10-E   ----   --   --   ----  --   3    3     1-F     5-B     VAR_DECL
              --
              --
         decl_specs(bits set)= 
  5-B 111   2-B  --  ----  ----   11-E   12-E   ----   --   --   ----  --   4    4     1-F     6-B  ASSIGN_STAT
              --
              --
         decl_specs(bits set)= 
  6-B 111   2-B  --  ----  ----   13-E   14-E   ----   --   --   ----  --   5    5     1-F     7-B  ASSIGN_STAT
              --
              --
         decl_specs(bits set)= 
  7-B 111   2-B  --  ----  ----   15-E   16-E   ----   --   --   ----  --   6    6     1-F     8-B  ASSIGN_STAT
              --
              --
         decl_specs(bits set)= 
  8-B 104   2-B  --  ----  ----   ----   ----   ----   --   --   ----  --   7    7     1-F     9-B  CONTROL_END
              --
              --
         decl_specs(bits set)= 
  9-B 265   1-B  --  ----   6-S   ----   ----   ----   --   --   ----  --   9    1     1-F    10-B  MODULE_STMT
              10-B    11-B    --
              --
         decl_specs(bits set)= 
 10-B 154   9-B  --  ----  ----   24-E   25-E   22-E   --   --   ----  --  10    2     1-F    11-B     VAR_DECL
              --
              --
         decl_specs(bits set)= 
 11-B 104   9-B  --  ----   6-S   ----   ----   ----   --   --   ----  --  11    3     1-F    12-B  CONTROL_END
              --
              --
         decl_specs(bits set)= 
 12-B 101   1-B  --  ----   8-S   ----   ----   ----   --   --   ----  --  13    1     1-F    13-B    PROG_HEDR
              13-B    16-B    17-B    19-B    20-B    26-B    --
              --
         decl_specs(bits set)= 
 13-B 171  12-B  --  ----   9-S   ----   ----   ----   --   --   ----  --  15    3     1-F    14-B  STRUCT_DECL
              14-B    15-B    --
              --
         decl_specs(bits set)= 
 14-B 154  13-B  --  ----  ----   33-E   34-E   ----   --   --   ----  --  16    4     1-F    15-B     VAR_DECL
              --
              --
         decl_specs(bits set)= 
 15-B 104  13-B  --  ----  ----   ----   ----   ----   --   --   ----  --  17    5     1-F    16-B  CONTROL_END
              --
              --
         decl_specs(bits set)= 
 16-B 266  12-B  --  ----   6-S   ----   ----   ----   --   --   ----  --  19    7     1-F    17-B     USE_STMT
              --
              --
         decl_specs(bits set)= 
 17-B 108  12-B  --  ----  ----   41-E   ----   ----   --   --   ----  --  21    9     1-F    18-B  FORALL_NODE
              18-B    --
              --
         decl_specs(bits set)= 
 18-B 111  17-B  --  ----  ----   42-E   47-E   ----   --   --   ----  --  22   10     1-F    19-B  ASSIGN_STAT
              --
              --
         decl_specs(bits set)= 
 19-B 200  12-B  --  ----  ----   66-E   50-E   ----   --   --   ----  --  24   12     1-F    20-B   PRINT_STAT
              --
              --
         decl_specs(bits set)= 
 20-B 107  12-B  --  ----  13-S   70-E   ----   67-E   --   --   ----  --  26   14     1-F    21-B     FOR_NODE
              21-B    25-B    --
              --
         decl_specs(bits set)= 
 21-B 105  20-B  --  ----  ----   77-E   ----   ----   --   --   ----  --  27   15     1-F    22-B      IF_NODE
              22-B    23-B    24-B    --
              --
         decl_specs(bits set)= 
 22-B 111  21-B  --  ----  ----   78-E   79-E   ----   --   --   ----  --  28   16     1-F    23-B  ASSIGN_STAT
              --
              --
         decl_specs(bits set)= 
 23-B 262  21-B  --  ----  14-S   ----   ----   ----   --   --   ----  --  29   17     1-F    24-B    EXIT_STMT
              --
              --
         decl_specs(bits set)= 
 24-B 104  21-B  --  ----  ----   ----   ----   ----   --   --   ----  --  30   18     1-F    25-B  CONTROL_END
              --
              --
         decl_specs(bits set)= 
 25-B 104  20-B  --  ----  14-S   ----   ----   ----   --   --   ----  --  31   19     1-F    26-B  CONTROL_END
              --
              --
         decl_specs(bits set)= 
 26-B 104  12-B  --  ----  ----   ----   ----   ----   --   --   ----  --  33   21     1-F    ----  CONTROL_END
              --
              --
         decl_specs(bits set)= 

***L0W-LEVEL NODES***

    id    var    type    symb    ll1     ll2                     tag...
    1-E   470    ----    ----    ----    ----                      INOUT_OP
    2-E   312    12-T    ----     1-E    ----                     EXPR_LIST
    3-E   307    ----     3-S    ----    ----                       VAR_REF
    4-E   312    ----    ----     3-E     7-E                     EXPR_LIST
    5-E   479     1-T    ----    ----    ----                       TYPE_OP
    6-E   307    ----     4-S    ----    ----                       VAR_REF
    7-E   312    ----    ----     6-E    ----                     EXPR_LIST
    8-E   307    ----     5-S    ----    ----                       VAR_REF
    9-E   312    ----    ----     8-E    ----                     EXPR_LIST
   10-E   479     1-T    ----    ----    ----                       TYPE_OP
   11-E   307     1-T     5-S    ----    ----                       VAR_REF
   12-E   307     1-T     3-S    ----    ----                       VAR_REF
   13-E   307     1-T     3-S    ----    ----                       VAR_REF
   14-E   307     1-T     4-S    ----    ----                       VAR_REF
   15-E   307     1-T     4-S    ----    ----                       VAR_REF
   16-E   307     1-T     5-S    ----    ----                       VAR_REF
   17-E   300     1-T                     100                       INT_VAL
   18-E   312    12-T    ----    17-E    20-E                     EXPR_LIST
   19-E   300     1-T                     100                       INT_VAL
   20-E   312    12-T    ----    19-E    ----                     EXPR_LIST
   21-E   466    ----    ----    18-E    ----                  DIMENSION_OP
   22-E   312    12-T    ----    21-E    ----                     EXPR_LIST
   23-E   308    ----     7-S    18-E    ----                     ARRAY_REF
   24-E   312    ----    ----    23-E    ----                     EXPR_LIST
   25-E   479     2-T    ----    ----    ----                       TYPE_OP
   26-E   371     2-T    10-S    28-E    ----                     FUNC_CALL
   27-E   300     1-T                      10                       INT_VAL
   28-E   312    12-T    ----    27-E    30-E                     EXPR_LIST
   29-E   300     1-T                      30                       INT_VAL
   30-E   312    12-T    ----    29-E    ----                     EXPR_LIST
   31-E   461    ----    ----    26-E    ----                      PAREN_OP
   32-E   307    ----    11-S    ----    ----                       VAR_REF
   33-E   312    ----    ----    32-E    36-E                     EXPR_LIST
   34-E   479    15-T    ----    ----    ----                       TYPE_OP
   35-E   307    ----    12-S    ----    ----                       VAR_REF
   36-E   312    ----    ----    35-E    ----                     EXPR_LIST
   37-E   300     1-T                       1                       INT_VAL
   38-E   300     1-T                     100                       INT_VAL
   39-E   324    ----    ----    37-E    38-E                          DDOT
   40-E   361    ----    13-S    39-E    ----                      INDEX_OP
   41-E   312    ----    ----    40-E    ----                     EXPR_LIST
   42-E   308     2-T     7-S    44-E    ----                     ARRAY_REF
   43-E   307     1-T    13-S    ----    ----                       VAR_REF
   44-E   312    12-T    ----    43-E    46-E                     EXPR_LIST
   45-E   307     1-T    13-S    ----    ----                       VAR_REF
   46-E   312    12-T    ----    45-E    ----                     EXPR_LIST
   47-E   307     1-T    13-S    ----    ----                       VAR_REF
   48-E   319     5-T   "*"                     KEYWORD_VAL
   49-E   319     5-T   "fmt"                     KEYWORD_VAL
   50-E   387    ----    ----    49-E    48-E                     SPEC_PAIR
   51-E   308    16-T     7-S    53-E    ----                     ARRAY_REF
   52-E   300     1-T                       3                       INT_VAL
   53-E   312    12-T    ----    52-E    55-E                     EXPR_LIST
   54-E   324    ----    ----    ----    ----                          DDOT
   55-E   312    12-T    ----    54-E    ----                     EXPR_LIST
   56-E   308    17-T     7-S    58-E    ----                     ARRAY_REF
   57-E   324    ----    ----    ----    ----                          DDOT
   58-E   312    12-T    ----    57-E    64-E                     EXPR_LIST
   59-E   300     1-T                       1                       INT_VAL
   60-E   300     1-T                      99                       INT_VAL
   61-E   300     1-T                       2                       INT_VAL
   62-E   324    ----    ----    59-E    60-E                          DDOT
   63-E   324    ----    ----    62-E    61-E                          DDOT
   64-E   312    12-T    ----    63-E    ----                     EXPR_LIST
   65-E   312    12-T    ----    56-E    ----                     EXPR_LIST
   66-E   312    16-T    ----    51-E    65-E                     EXPR_LIST
   67-E   307    ----    14-S    ----    ----                       VAR_REF
   68-E   300     1-T                       1                       INT_VAL
   69-E   300     1-T                     100                       INT_VAL
   70-E   324    ----    ----    68-E    69-E                          DDOT
   71-E   307     1-T    15-S    ----    ----                       VAR_REF
   72-E   308     2-T     7-S    74-E    ----                     ARRAY_REF
   73-E   307     1-T    13-S    ----    ----                       VAR_REF
   74-E   312    12-T    ----    73-E    76-E                     EXPR_LIST
   75-E   300     1-T                     100                       INT_VAL
   76-E   312    12-T    ----    75-E    ----                     EXPR_LIST
   77-E   328     6-T    ----    71-E    72-E                         EQ_OP
   78-E   307     1-T    16-S    ----    ----                       VAR_REF
   79-E   307     1-T    13-S    ----    ----                       VAR_REF

***SYMBOL NODES***

   id   var   type  attr  next   scope  variable-name
   1-S  550   ----    0   ----   ----              *                                               DEFAULT
   2-S  506   ----    0    6-S    1-B  swap_integers n_in=    2 n_out=    0 n_io=    0
	                               in_l=    3-S out_l=   ---- sy_l=   ---- p_hdr=   ----    PROCEDURE_NAME
   3-S  503    1-T   32    4-S    2-B          arg_a local= 603 nxt_in=   4-S nxt_out=  ----     VARIABLE_NAME
   4-S  503    1-T   32    5-S    2-B          arg_b local= 603 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
   5-S  503    1-T    0   ----    2-B           temp local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
   6-S  519   12-T    0    8-S    1-B         t_ford                                             MODULE_NAME
   7-S  503   13-T    2   ----    9-B              a local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
   8-S  505   ----    0   10-S    1-B         coined symb_lst=         ---- prog_hedr=   ----      PROGRAM_NAME
   9-S  504   14-T    0   13-S   12-B          nouse                                             TYPE_NAME
  10-S  509    2-T    0   ----    1-B selected_real_kind n_in=    0 n_out=    0 n_io=    0
	                               in_l=   ---- out_l=   ---- sy_l=   ---- p_hdr=   ----     FUNCTION_NAME
  11-S  503   15-T    0   12-S   13-B             r1 local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
  12-S  503   15-T    0   ----   13-B             r2 local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
  13-S  503    1-T    0   14-S   12-B              i local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
  14-S  517   12-T    0   15-S   12-B     serch_loop                                          CONSTRUCT_NAME
  15-S  503    1-T    0   16-S   12-B           item local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME
  16-S  503    1-T    0   ----   12-B       location local= 600 nxt_in=  ---- nxt_out=  ----     VARIABLE_NAME

***TYPE NODES***

   id   var name length
   1-T  551   --   --                                                                T_INT
   2-T  552   --   --                                                              T_FLOAT
   3-T  553   --   --                                                             T_DOUBLE
   4-T  554   --   --                                                               T_CHAR
   5-T  556   --   --                                                             T_STRING
   6-T  555   --   --                                                               T_BOOL
   7-T  564   --   --                                                            T_COMPLEX
   8-T  583   --   --                                                           T_DCOMPLEX
   9-T  580   --   --                                                               T_GATE
  10-T  581   --   --                                                              T_EVENT
  11-T  582   --   --                                                           T_SEQUENCE
  12-T  550   --   --                                                              DEFAULT
  13-T  560   --   18  dim=    2   base_t=    2-T   rngs=   18-E                T_ARRAY
  14-T  570   --   11  num_flds=    2 first=   11-S parent=   ----                 T_STRUCT
  15-T  552   --   31                                                              T_FLOAT
  16-T  560   --   --  dim=    1   base_t=   16-T   rngs=   ----                T_ARRAY
  17-T  560   --   --  dim=    2   base_t=   17-T   rngs=   ----                T_ARRAY

  bits set:   0 syn/protected,  1 shared/public,  2 private,  3 future,  4 virtual,
                5 inline,  6 unsigned,  7 signed,  8 short,  9 long,  10 volatile,
                11 const,  12 typedef,  13 extern,  14 friend,  15 static,  16 register,
                17 auto,  18 global,  19 Sync,  20 atomic,  21 __private, 22 restrict

***LABEL NODES***

***COMMENT NODES***

***FILENAME NODES***

    1-F s.f