1: #include "awk.def"
   2: #include "awk.h"
   3: #include "stdio.h"
   4: node *ALLOC(n)
   5: {   node *x;
   6:     x = (node *)malloc(sizeof(node)+n*sizeof(node *));
   7:     if (x == NULL)
   8:         error(FATAL, "out of space in ALLOC");
   9:     return(x);
  10: }
  11: node *exptostat(a) node *a;
  12: {
  13:     a->ntype = NSTAT;
  14:     return(a);
  15: }
  16: node    *nullstat;
  17: node *node0(a)
  18: {   node *x;
  19:     x=ALLOC(0);
  20:     x->nnext = NULL;
  21:     x->nobj=a;
  22:     return(x);
  23: }
  24: node *node1(a,b) node *b;
  25: {   node *x;
  26:     x=ALLOC(1);
  27:     x->nnext = NULL;
  28:     x->nobj=a;
  29:     x->narg[0]=b;
  30:     return(x);
  31: }
  32: node *node2(a,b,c) node *b, *c;
  33: {   node *x;
  34:     x = ALLOC(2);
  35:     x->nnext = NULL;
  36:     x->nobj = a;
  37:     x->narg[0] = b;
  38:     x->narg[1] = c;
  39:     return(x);
  40: }
  41: node *node3(a,b,c,d) node *b, *c, *d;
  42: {   node *x;
  43:     x = ALLOC(3);
  44:     x->nnext = NULL;
  45:     x->nobj = a;
  46:     x->narg[0] = b;
  47:     x->narg[1] = c;
  48:     x->narg[2] = d;
  49:     return(x);
  50: }
  51: node *node4(a,b,c,d,e) node *b, *c, *d, *e;
  52: {   node *x;
  53:     x = ALLOC(4);
  54:     x->nnext = NULL;
  55:     x->nobj = a;
  56:     x->narg[0] = b;
  57:     x->narg[1] = c;
  58:     x->narg[2] = d;
  59:     x->narg[3] = e;
  60:     return(x);
  61: }
  62: node *stat3(a,b,c,d) node *b, *c, *d;
  63: {   node *x;
  64:     x = node3(a,b,c,d);
  65:     x->ntype = NSTAT;
  66:     return(x);
  67: }
  68: node *op2(a,b,c) node *b, *c;
  69: {   node *x;
  70:     x = node2(a,b,c);
  71:     x->ntype = NEXPR;
  72:     return(x);
  73: }
  74: node *op1(a,b) node *b;
  75: {   node *x;
  76:     x = node1(a,b);
  77:     x->ntype = NEXPR;
  78:     return(x);
  79: }
  80: node *stat1(a,b) node *b;
  81: {   node *x;
  82:     x = node1(a,b);
  83:     x->ntype = NSTAT;
  84:     return(x);
  85: }
  86: node *op3(a,b,c,d) node *b, *c, *d;
  87: {   node *x;
  88:     x = node3(a,b,c,d);
  89:     x->ntype = NEXPR;
  90:     return(x);
  91: }
  92: node *stat2(a,b,c) node *b, *c;
  93: {   node *x;
  94:     x = node2(a,b,c);
  95:     x->ntype = NSTAT;
  96:     return(x);
  97: }
  98: node *stat4(a,b,c,d,e) node *b, *c, *d, *e;
  99: {   node *x;
 100:     x = node4(a,b,c,d,e);
 101:     x->ntype = NSTAT;
 102:     return(x);
 103: }
 104: node *valtonode(a, b) cell *a;
 105: {   node *x;
 106:     x = node0(a);
 107:     x->ntype = NVALUE;
 108:     x->subtype = b;
 109:     return(x);
 110: }
 111: node *genjump(a)
 112: {   node *x;
 113:     x = node0(a);
 114:     x->ntype = NSTAT;
 115:     return(x);
 116: }
 117: node *pa2stat(a,b,c) node *a, *b, *c;
 118: {   node *x;
 119:     x = node3(paircnt++, a, b, c);
 120:     x->ntype = NPA2;
 121:     return(x);
 122: }
 123: node *linkum(a,b) node *a, *b;
 124: {   node *c;
 125:     if(a == NULL) return(b);
 126:     else if(b == NULL) return(a);
 127:     for(c=a; c->nnext != NULL; c=c->nnext);
 128:     c->nnext = b;
 129:     return(a);
 130: }
 131: node *genprint()
 132: {   node *x;
 133:     x = stat2(PRINT,valtonode(lookup("$record", symtab), CFLD), nullstat);
 134:     return(x);
 135: }

Defined functions

ALLOC defined in line 4; used 5 times
exptostat defined in line 11; used 1 times
genjump defined in line 111; used 4 times
genprint defined in line 131; used 2 times
linkum defined in line 123; used 5 times
node0 defined in line 17; used 2 times
node1 defined in line 24; used 2 times
node2 defined in line 32; used 2 times
node3 defined in line 41; used 3 times
node4 defined in line 51; used 1 times
op1 defined in line 74; used 9 times
op2 defined in line 68; used 35 times
op3 defined in line 86; used 4 times
pa2stat defined in line 117; used 2 times
stat1 defined in line 80; never used
stat2 defined in line 92; used 6 times
stat3 defined in line 62; used 8 times
stat4 defined in line 98; used 2 times
valtonode defined in line 104; used 10 times

Defined variables

nullstat defined in line 16; used 22 times
Last modified: 1981-07-10
Generated: 2016-12-26
Generated by src2html V0.67
page hit count: 1076
Valid CSS Valid XHTML 1.0 Strict