# 2.11BSD#431 - /usr/ingres/source/ovqp/prsym.c

##### Functions

    prstack           X
    prstr             X
    prsym             X

       1: # include   "../ingres.h"
       2: # include   "../aux.h"
       3: # include   "../symbol.h"
       4: # include   "../tree.h"
       5: # include   "../pipes.h"
       6: # include   "ovqp.h"
       7:
       8: prsym(ss)
       9: struct symbol   *ss;
      10: {
      11:     char        *p;
      12:     register    i,j;
      13:     register struct symbol  *s;
      14:     char            temp[4];
      15:
      16:     s = ss;
      17:     i = s->type;
      18:     j = s->len & 0377;
      19:     p = (char *) s->value;
      20:     if (i == S_VAR)
      21:     {
      22:         i = VAR;    /* execute var portion */
      23:         printf("s_");   /* first part of "s_var" message */
      24:     }
      25:     if (i == VAR)
      26:     {
      27:         /* beware : do S_VAR's have attno's? */
      28:         printf("var:att#=%d:", *p);
      29:         i = ((struct qt_v *)s)->vtype;
      30:         j = ((struct qt_v *)s)->vlen & 0377;
      31:         p = (char *) ((struct qt_v *)s)->vpoint;
      32:         if (i != CHAR)
      33:         {
      34:             /* move INT & FLOAT to word boundary */
      35:             bmove(p, temp, 4);
      36:             p = temp;
      37:         }
      38:     }
      39:
      40:     printf("%d:%d:value='",i,j);
      41:     switch (i)
      42:     {
      43:       case AND:
      44:       case AOP:
      45:       case BOP:
      46:       case OR:
      47:       case RESDOM:
      48:       case UOP:
      49:         printf("%d (operator)", *p);
      50:         break;
      51:
      52:       case INT:
      53:         switch(j)
      54:         {
      55:           case 1:
      56:             printf("%d", i1deref(p));
      57:             break;
      58:           case 2:
      59:             printf("%d", i2deref(p));
      60:             break;
      61:           case 4:
      62:             printf("%s", locv(i4deref(p)));
      63:         }
      64:         break;
      65:
      66:       case FLOAT:
      67:         switch(j)
      68:         {
      69:           case 4:
      70:             printf("%10.3f", f4deref(p));
      71:             break;
      72:           case 8:
      73:             printf("%10.3f", f8deref(p));
      74:         }
      75:         break;
      76:
      77:       case RESULTID:
      78:       case SOURCEID:
      79:       case CHAR:
      80:         prstr(p, j);
      81:         break;
      82:
      83:       case AGHEAD:
      84:       case BYHEAD:
      85:       case QLEND:
      86:       case ROOT:
      87:       case TREE:
      88:         printf(" (delim)");
      89:         break;
      90:
      91:       case CHANGESTRAT:
      92:       case REOPENRES:
      93:       case EXIT:
      94:       case QMODE:
      95:       case RETVAL:
      96:       case USERQRY:
      97:         if (j)
      98:             printf("%d", *p);
      99:         printf(" (status)");
     100:         break;
     101:
     102:       default:
     103:         printf("\nError in prsym: bad type= %d\n",i);
     104:     }
     105:     printf("'\n");
     106: }
     107:
     108:
     109: prstack(ss)
     110: struct symbol   *ss;
     111: {
     112:     register struct symbol  *s;
     113:     register char       *p;
     114:
     115:     s = ss;
     116:
     117:     if (s->type == CHAR)
     118:     {
     119:         printf("%d:%d:value='", s->type, s->len);
     120:         prstr(cpderef(s->value), s->len & 0377);
     121:         printf("'\n");
     122:     }
     123:     else
     124:         prsym(s);
     125: }
     126:
     127:
     128: prstr(pt, len)
     129: char    *pt;
     130: int len;
     131: {
     132:     register char   *p;
     133:     register int    l;
     134:
     135:     l = len + 1;
     136:     p = pt;
     137:     while (--l)
     138:         putchar(*p++);
     139: }

#### Defined functions

prstack defined in line 109; used 6 times

- in /usr/ingres/source/ovqp/equelpr.c line 35
- in /usr/ingres/source/ovqp/interp.c line 77
- in /usr/ingres/source/ovqp/interp1.c line 147, 190
- in /usr/ingres/source/ovqp/string.c line 66
- in /usr/ingres/source/ovqp/support.c line 157

prstr defined in line 128; used 2 times

- in line 80, 120

prsym defined in line 8; used 8 times

- in line 124
- in /usr/ingres/source/ovqp/findsimps.c line 240, 385
- in /usr/ingres/source/ovqp/interp1.c line 42
- in /usr/ingres/source/ovqp/key.c line 57, 154
- in /usr/ingres/source/ovqp/rdsym.c line 47, 113

Last modified: 1995-03-02 Generated: 2016-12-26 | Generated by src2html V0.67 page hit count: 1037 |