Annotation of 42BSD/ucb/pascal/pxp/lab.c, revision 1.1.1.1

1.1       root        1: static char *sccsid = "@(#)lab.c       1.1 (Berkeley) 3/2/81";
                      2: /* Copyright (c) 1979 Regents of the University of California */
                      3: #
                      4: /*
                      5:  * pxp - Pascal execution profiler
                      6:  *
                      7:  * Bill Joy UCB
                      8:  * Version 1.2 January 1979
                      9:  */
                     10: 
                     11: #include "0.h"
                     12: 
                     13: /*
                     14:  * Label declaration part
                     15:  */
                     16: label(r, l)
                     17:        int *r, l;
                     18: {
                     19:        register *ll;
                     20: 
                     21:        if (nodecl)
                     22:                printoff();
                     23:        puthedr();
                     24:        setline(l);
                     25:        ppnl();
                     26:        indent();
                     27:        ppkw("label");
                     28:        ppgoin(DECL);
                     29:        ppnl();
                     30:        indent();
                     31:        ppbra(NIL);
                     32:        ll = r;
                     33:        if (ll != NIL)
                     34:                for (;;) {
                     35:                        pplab(ll[1]);
                     36:                        ll = ll[2];
                     37:                        if (ll == NIL)
                     38:                                break;
                     39:                        ppsep(", ");
                     40:                }
                     41:        else
                     42:                ppid("{label list}");
                     43:        ppket(";");
                     44:        putcml();
                     45:        ppgoout(DECL);
                     46: }
                     47: 
                     48: /*
                     49:  * Goto statement
                     50:  */
                     51: gotoop(s)
                     52:        char *s;
                     53: {
                     54: 
                     55:        gocnt++;
                     56:        ppkw("goto");
                     57:        ppspac();
                     58:        pplab(s);
                     59: }
                     60: 
                     61: /*
                     62:  * A label on a statement
                     63:  */
                     64: labeled(s)
                     65:        char *s;
                     66: {
                     67: 
                     68:        linopr();
                     69:        indentlab();
                     70:        pplab(s);
                     71:        ppsep(":");
                     72: }

unix.superglobalmegacorp.com

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