home *** CD-ROM | disk | FTP | other *** search
/ minnie.tuhs.org / unixen.tar / unixen / PDP-11 / Trees / V7 / usr / src / cmd / struct / 1.finish.c < prev    next >
Encoding:
C/C++ Source or Header  |  1979-01-10  |  703 b   |  39 lines

  1. #include <stdio.h>
  2. #include "def.h"
  3. #include "1.incl.h"
  4.  
  5. fingraph()
  6.     {
  7.     /* if any entry statements, add a DUMVX with arcs to all entry statements */
  8.     if (ENTLST)
  9.         {
  10.         ARC(START,0) = addum(ARC(START,0),ENTLST);
  11.         freelst(ENTLST);
  12.         }
  13.     /* if any FMTVX, add a DUMVX with arcs to all FMTVX's */
  14.     if (FMTLST)
  15.         {
  16.         ARC(START,0) = addum(ARC(START,0),FMTLST);
  17.         freelst(FMTLST);
  18.         }
  19.     }
  20.  
  21. addum(v,lst)
  22. VERT v;
  23. struct list *lst;
  24.     {
  25.     VERT new;
  26.     int count,i;
  27.     struct list *ls;
  28.     count = lslen(lst);        /* length of lst */
  29.     new = create(DUMVX,1+count);
  30.     ARC(new,0) = v;
  31.     for (i = count, ls = lst; i >= 1; --i, ls = ls->nxtlist)
  32.         {
  33.         ASSERT(ls,addum);
  34.         ARC(new,i) = ls->elt;
  35.         }
  36.     ASSERT(!ls, addum);
  37.     return(new);
  38.     }
  39.