Annotation of 41BSD/cmd/pxp/var.c, revision 1.1.1.1

1.1       root        1: /* Copyright (c) 1979 Regents of the University of California */
                      2: #
                      3: /*
                      4:  * pxp - Pascal execution profiler
                      5:  *
                      6:  * Bill Joy UCB
                      7:  * Version 1.2 January 1979
                      8:  */
                      9: 
                     10: #include "0.h"
                     11: #include "tree.h"
                     12: 
                     13: STATIC int varcnt -1;
                     14: /*
                     15:  * Var declaration part
                     16:  */
                     17: varbeg(l, vline)
                     18:        int l, vline;
                     19: {
                     20: 
                     21:        line = l;
                     22:        if (nodecl)
                     23:                printoff();
                     24:        puthedr();
                     25:        putcm();
                     26:        ppnl();
                     27:        indent();
                     28:        ppkw("var");
                     29:        ppgoin(DECL);
                     30:        varcnt = 0;
                     31:        setline(vline);
                     32: }
                     33: 
                     34: var(vline, vidl, vtype)
                     35:        int vline;
                     36:        register int *vidl;
                     37:        int *vtype;
                     38: {
                     39: 
                     40:        if (varcnt)
                     41:                putcm();
                     42:        setline(vline);
                     43:        ppitem();
                     44:        if (vidl != NIL)
                     45:                for (;;) {
                     46:                        ppid(vidl[1]);
                     47:                        vidl = vidl[2];
                     48:                        if (vidl == NIL)
                     49:                                break;
                     50:                        ppsep(", ");
                     51:                }
                     52:        else
                     53:                ppid("{identifier list}");
                     54:        ppsep(":");
                     55:        gtype(vtype);
                     56:        ppsep(";");
                     57:        setinfo(vline);
                     58:        putcml();
                     59:        varcnt++;
                     60: }
                     61: 
                     62: varend()
                     63: {
                     64: 
                     65:        if (varcnt == -1)
                     66:                return;
                     67:        if (varcnt == 0)
                     68:                ppid("{variable decls}");
                     69:        ppgoout(DECL);
                     70:        varcnt = -1;
                     71: }

unix.superglobalmegacorp.com

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