# 2.11BSD#431 - /usr/src/ucb/PORT/pascal/pxp/const.c

##### Functions

    constbeg          X
    constend          X
    gconst            X

##### Variables

    cdecl             X
    cid               X
    cline             X
    constcnt          X

       1: /*
       2:  * Copyright (c) 1980 Regents of the University of California.
       3:  * All rights reserved.  The Berkeley software License Agreement
       4:  * specifies the terms and conditions for redistribution.
       5:  */
       6:
       7: #ifndef lint
       8: static char sccsid[] = "@(#)const.c	5.1 (Berkeley) 6/5/85";
       9: #endif not lint
      10:
      11: /*
      12:  * pxp - Pascal execution profiler
      13:  *
      14:  * Bill Joy UCB
      15:  * Version 1.2 January 1979
      16:  */
      17:
      18: #include "0.h"
      19: #include "tree.h"
      20:
      21: STATIC  int constcnt = -1;
      22:
      23: /*
      24:  * The const declaration part
      25:  */
      26: constbeg(l, cline)
      27:     int l, cline;
      28: {
      29:
      30:     line = l;
      31:     if (nodecl)
      32:         printoff();
      33:     puthedr();
      34:     putcm();
      35:     ppnl();
      36:     indent();
      37:     ppkw("const");
      38:     ppgoin(DECL);
      39:     constcnt = 0;
      40:     setline(cline);
      41: }
      42:
      43: const(cline, cid, cdecl)
      44:     int cline;
      45:     char *cid;
      46:     int *cdecl;
      47: {
      48:
      49:     if (constcnt)
      50:         putcm();
      51:     setline(cline);
      52:     ppitem();
      53:     ppid(cid);
      54:     ppsep(" = ");
      55:     gconst(cdecl);
      56:     ppsep(";");
      57:     constcnt++;
      58:     setinfo(cline);
      59:     putcml();
      60: }
      61:
      62: constend()
      63: {
      64:
      65:     if (constcnt == -1)
      66:         return;
      67:     if (nodecl)
      68:         return;
      69:     if (constcnt == 0)
      70:         ppid("{const decls}");
      71:     ppgoout(DECL);
      72:     constcnt = -1;
      73: }
      74:
      75: /*
      76:  * A constant in an expression
      77:  * or a declaration.
      78:  */
      79: gconst(r)
      80:     int *r;
      81: {
      82:     register *cn;
      83:
      84:     cn = r;
      85: loop:
      86:     if (cn == NIL) {
      87:         ppid("{constant}");
      88:         return;
      89:     }
      90:     switch (cn[0]) {
      91:         default:
      92:             panic("gconst");
      93:         case T_PLUSC:
      94:             ppop("+");
      95:             cn = cn[1];
      96:             goto loop;
      97:         case T_MINUSC:
      98:             ppop("-");
      99:             cn = cn[1];
     100:             goto loop;
     101:         case T_ID:
     102:             ppid(cn[1]);
     103:             return;
     104:         case T_CBINT:
     105:         case T_CINT:
     106:         case T_CFINT:
     107:             ppnumb(cn[1]);
     108:             if (cn[0] == T_CBINT)
     109:                 ppsep("b");
     110:             return;
     111:         case T_CSTRNG:
     112:             ppstr(cn[1]);
     113:             return;
     114:     }
     115: }

#### Defined functions

constbeg defined in line 26; never used
constend defined in line 62; never used
gconst defined in line 79; used 6 times

- in line 55
- in /usr/src/ucb/PORT/pascal/pxp/case.c line 70
- in /usr/src/ucb/PORT/pascal/pxp/rec.c line 124
- in /usr/src/ucb/PORT/pascal/pxp/rmothers.c line 145
- in /usr/src/ucb/PORT/pascal/pxp/type.c line 198-200(2)

#### Defined variables

cdecl defined in line 46; used 2 times

- in line 43, 55

cid defined in line 45; used 2 times

- in line 43, 53

cline defined in line 44; used 6 times

- in line 26-27(2), 40-43(2), 51, 58

constcnt defined in line 21; used 6 times

- in line 39, 49, 57, 65-72(3)

sccsid defined in line 8; never used

Last modified: 1985-06-06 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 985 |