Annotation of researchv10dc/cmd/struct/0.graph.c, revision 1.1.1.1

1.1       root        1: #include <stdio.h>
                      2: #include "def.h"
                      3: 
                      4: #define TABOVER(n)     tabover(n,stderr)
                      5: prgraph()
                      6:        {
                      7:        VERT v;
                      8:        int i;
                      9:        if (progress) fprintf(stderr,"prgraph():\n");
                     10:        for (v = 0; v < nodenum; ++v)
                     11:                {
                     12:                fprintf(stderr,"%d %s:",v, typename[NTYPE(v)]);
                     13:                for (i = 0; i < ARCNUM(v); ++i)
                     14:                        {
                     15:                        fprintf(stderr,"%d ",ARC(v,i));
                     16:                        ASSERT(UNDEFINED <= ARC(v,i) && ARC(v,i) < nodenum, prgraph);
                     17:                        }
                     18:                fprintf(stderr,"\n");
                     19:                }
                     20:        fprintf(stderr,"\n\n");
                     21:        }
                     22: 
                     23: prtree()
                     24:        {
                     25:        prtr(START,1);
                     26:        }
                     27: 
                     28: prtr(v,tab)            /* print tree in form of program indenting by tab */
                     29: VERT v;
                     30: int tab;
                     31:        {
                     32:        int i;
                     33:        TABOVER(tab);
                     34:        fprintf(stderr,"%d %s:",v,typename[NTYPE(v)]);
                     35:        for (i = 0; i < ARCNUM(v); ++i)
                     36:                fprintf(stderr," %d",ARC(v,i));
                     37:        fprintf(stderr,"\n");
                     38:        for (i = 0; i < CHILDNUM(v); ++i)
                     39:                {
                     40:                TABOVER(tab+1);
                     41:                fprintf(stderr,"{\n");
                     42:                if (DEFINED(LCHILD(v,i)))
                     43:                        prtr(LCHILD(v,i),tab+1);
                     44:                TABOVER(tab+1);
                     45:                fprintf(stderr,"}\n");
                     46:                }
                     47:        if (DEFINED(RSIB(v)))
                     48:                prtr(RSIB(v),tab);
                     49:        }
                     50: 
                     51: 
                     52: tabover(n,fd)          /* tab n times */
                     53: int n;
                     54: FILE *fd;
                     55:        {
                     56:        int i;
                     57:        for (i = 0; i < n; ++i)
                     58:                putc('\t',fd);
                     59:        }

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.