Annotation of 43BSD/ingres/source/ovqp/prsym.c, revision 1.1.1.1

1.1       root        1: # include      <ingres.h>
                      2: # include      <aux.h>
                      3: # include      <symbol.h>
                      4: # include      <tree.h>
                      5: # include      "../decomp/globs.h"
                      6: # include      <sccs.h>
                      7: 
                      8: SCCSID(@(#)prsym.c     8.2     1/17/85)
                      9: 
                     10: prsym(s)
                     11: register SYMBOL        *s;
                     12: {
                     13:        register union symvalue *p;
                     14:        register int            type;
                     15:        register int            len;
                     16:        union symvalue          temp;
                     17: 
                     18:        type = s->type;
                     19:        len = s->len & I1MASK;
                     20:        p = &s->value;
                     21:        if (type == S_VAR)
                     22:        {
                     23:                /* actually, S_VAR's are rendered the same as VAR's
                     24:                 * by call_ovqp70.c's ovqpnod()
                     25:                 */
                     26:                printf("s_");   /* first part of "s_var" message */
                     27:                type = VAR;     /* execute var portion */
                     28:        }
                     29:        if (type == VAR)
                     30:        {
                     31:                printf("var:att#=%d:", p->sym_var.attno);
                     32:                type = p->sym_var.varfrmt;
                     33:                len = p->sym_var.varfrml;
                     34:                if (type != CHAR)
                     35:                {
                     36:                        /* move anytype to symvalue boundary */
                     37:                        bmove((char *)p->sym_var.valptr, (char *)&temp, sizeof *p);
                     38:                        p = &temp;
                     39:                }
                     40:        }
                     41:        xputchar(type);
                     42:        printf("%d:value='", len);
                     43:        switch (type)
                     44:        {
                     45:          case AND:
                     46:                printf("%d [AND] (operator)", p->sym_op.opno);
                     47:                break;
                     48:          case AOP:
                     49:                printf("%d [AOP] (operator)", p->sym_op.opno);
                     50:                break;
                     51:          case BOP:
                     52:                printf("%d [BOP] (operator)", p->sym_op.opno);
                     53:                break;
                     54:          case OR:
                     55:                printf("%d [OR] (operator)", p->sym_op.opno);
                     56:                break;
                     57:          case RESDOM:
                     58:                printf("%d [RESDOM] (operator)", p->sym_op.opno);
                     59:                break;
                     60:          case UOP:
                     61:                printf("%d [UOP] (operator)", p->sym_op.opno);
                     62:                break;
                     63:          case COP:
                     64:                printf("%d [COP] (operator)", p->sym_op.opno);
                     65:                break;
                     66: 
                     67:          case INT:
                     68:                switch (len)
                     69:                {
                     70:                  case 1:
                     71:                        printf("%d", p->sym_data.i1type);
                     72:                        break;
                     73: 
                     74:                  case 2:
                     75:                        printf("%d", p->sym_data.i2type);
                     76:                        break;
                     77: 
                     78:                  case 4:
                     79:                        printf("%ld", p->sym_data.i4type);
                     80:                }
                     81:                break;
                     82: 
                     83:          case FLOAT:
                     84:                printf("%10.3f", p->sym_data.f4type);
                     85:                break;
                     86: 
                     87:          case RESULTID:
                     88:          case SOURCEID:
                     89:          case CHAR:
                     90:                printf("%x=", p->sym_data.c0type);
                     91:                prstr(p->sym_data.c0type, len);
                     92:                break;
                     93: 
                     94:          case AGHEAD:
                     95:                printf("AGHEAD (delim)");
                     96:                break;
                     97:          case BYHEAD:
                     98:                printf("BYHEAD (delim)");
                     99:                break;
                    100:          case QLEND:
                    101:                printf("QLEND (delim)");
                    102:                break;
                    103:          case ROOT:
                    104:                printf("ROOT (delim)");
                    105:                break;
                    106:          case TREE:
                    107:                printf("TREE (delim)");
                    108:                break;
                    109: 
                    110:          case CHANGESTRAT:
                    111:          case REOPENRES:
                    112:          case EXIT:
                    113:          case QMODE:
                    114:          case RETVAL:
                    115:          case USERQRY:
                    116:                if (len)
                    117:                        printf("%d", p->sym_op.opno);
                    118:                printf(" (status)");
                    119:                break;
                    120: 
                    121:          default:
                    122:                printf("\nError in prsym: bad type= %d\n", type);
                    123:        }
                    124:        printf("'\n");
                    125: }
                    126: 
                    127: 
                    128: prstack(s)
                    129: register SYMBOL        *s;
                    130: {
                    131:        if (s->type == CHAR)
                    132:        {
                    133:                printf("c%d:value='%x=", s->len,s->value.sym_data.cptype);
                    134:                prstr(s->value.sym_data.cptype, s->len & I1MASK);
                    135:                printf("'\n");
                    136:        }
                    137:        else
                    138:                prsym(s);
                    139: }
                    140: 
                    141: 
                    142: 
                    143: prstr(p, l)
                    144: register char  *p;
                    145: register int   l;
                    146: {
                    147:        while (--l >= 0)
                    148:                putchar(*p++);
                    149: }

unix.superglobalmegacorp.com

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