1: /* 2: * Structure for mapping string names of procedures to block addresses. 3: */ 4: struct pstrnm { 5: char *pstrep; 6: struct b_proc *pblock; 7: }; 8: 9: extern struct b_proc 10: #define PDEF(p) B/**/p, 11: #include "../h/pdef.h" 12: interp; /* Hack to avoid ,; in expansion */ 13: #undef PDEF 14: 15: extern struct b_proc 16: Basgn, 17: Bbang, 18: Bcat, 19: Bcompl, 20: Bdiff, 21: Bdiv, 22: Beqv, 23: Binter, 24: Blconcat, 25: Blexeq, 26: Blexge, 27: Blexgt, 28: Blexle, 29: Blexlt, 30: Blexne, 31: Bminus, 32: Bmod, 33: Bmult, 34: Bneg, 35: Bneqv, 36: Bnonnull, 37: Bnull, 38: Bnumber, 39: Bnumeq, 40: Bnumge, 41: Bnumgt, 42: Bnumle, 43: Bnumlt, 44: Bnumne, 45: Bplus, 46: Bpower, 47: Brandom, 48: Brasgn, 49: Brefresh, 50: Brswap, 51: Bsect, 52: Bsize, 53: Bsubsc, 54: Bswap, 55: Btabmat, 56: Btoby, 57: Bunioncs, 58: Bvalue; 59: 60: struct pstrnm pntab[] = { 61: #define PDEF(p) "p", &B/**/p, 62: #include "../h/pdef.h" 63: #undef PDEF 64: ":=", &Basgn, 65: "!", &Bbang, 66: "||", &Bcat, 67: "~", &Bcompl, 68: "--", &Bdiff, 69: "/", &Bdiv, 70: "===", &Beqv, 71: "**", &Binter, 72: "|||", &Blconcat, 73: "==", &Blexeq, 74: ">>=", &Blexge, 75: ">>", &Blexgt, 76: "<<=", &Blexle, 77: "<<", &Blexlt, 78: "~==", &Blexne, 79: "-", &Bminus, 80: "%", &Bmod, 81: "*", &Bmult, 82: "-", &Bneg, 83: "~===", &Bneqv, 84: "\\", &Bnonnull, 85: "/", &Bnull, 86: "+", &Bnumber, 87: "=", &Bnumeq, 88: ">=", &Bnumge, 89: ">", &Bnumgt, 90: "<=", &Bnumle, 91: "<", &Bnumlt, 92: "~=", &Bnumne, 93: "+", &Bplus, 94: "^", &Bpower, 95: "?", &Brandom, 96: "<-", &Brasgn, 97: "^", &Brefresh, 98: "<->", &Brswap, 99: ":", &Bsect, 100: "*", &Bsize, 101: "[]", &Bsubsc, 102: ":=:", &Bswap, 103: "=", &Btabmat, 104: "...", &Btoby, 105: "++", &Bunioncs, 106: ".", &Bvalue, 107: 0, 0 108: };