1*37da2899SCharles.Forsyth struct 2*37da2899SCharles.Forsyth { 3*37da2899SCharles.Forsyth char* name; 4*37da2899SCharles.Forsyth int op; 5*37da2899SCharles.Forsyth int terminal; 6*37da2899SCharles.Forsyth }keywds[] = 7*37da2899SCharles.Forsyth { 8*37da2899SCharles.Forsyth "nop", INOP, TOKI0, 9*37da2899SCharles.Forsyth "alt", IALT, TOKI3, 10*37da2899SCharles.Forsyth "nbalt", INBALT, TOKI3, 11*37da2899SCharles.Forsyth "goto", IGOTO, TOKI2, 12*37da2899SCharles.Forsyth "call", ICALL, TOKI2, 13*37da2899SCharles.Forsyth "frame", IFRAME, TOKI2, 14*37da2899SCharles.Forsyth "spawn", ISPAWN, TOKI2, 15*37da2899SCharles.Forsyth "runt", IRUNT, TOKI2, 16*37da2899SCharles.Forsyth "load", ILOAD, TOKI3, 17*37da2899SCharles.Forsyth "mcall", IMCALL, TOKI3, 18*37da2899SCharles.Forsyth "mspawn", IMSPAWN, TOKI3, 19*37da2899SCharles.Forsyth "mframe", IMFRAME, TOKI3, 20*37da2899SCharles.Forsyth "ret", IRET, TOKI0, 21*37da2899SCharles.Forsyth "jmp", IJMP, TOKI1, 22*37da2899SCharles.Forsyth "case", ICASE, TOKI2, 23*37da2899SCharles.Forsyth "exit", IEXIT, TOKI0, 24*37da2899SCharles.Forsyth "new", INEW, TOKI2, 25*37da2899SCharles.Forsyth "newa", INEWA, TOKI3, 26*37da2899SCharles.Forsyth "newcb", INEWCB, TOKI1, 27*37da2899SCharles.Forsyth "newcw", INEWCW, TOKI1, 28*37da2899SCharles.Forsyth "newcf", INEWCF, TOKI1, 29*37da2899SCharles.Forsyth "newcp", INEWCP, TOKI1, 30*37da2899SCharles.Forsyth "newcm", INEWCM, TOKI2, 31*37da2899SCharles.Forsyth "newcmp", INEWCMP, TOKI2, 32*37da2899SCharles.Forsyth "send", ISEND, TOKI2, 33*37da2899SCharles.Forsyth "recv", IRECV, TOKI2, 34*37da2899SCharles.Forsyth "consb", ICONSB, TOKI2, 35*37da2899SCharles.Forsyth "consw", ICONSW, TOKI2, 36*37da2899SCharles.Forsyth "consp", ICONSP, TOKI2, 37*37da2899SCharles.Forsyth "consf", ICONSF, TOKI2, 38*37da2899SCharles.Forsyth "consm", ICONSM, TOKI3, 39*37da2899SCharles.Forsyth "consmp", ICONSMP, TOKI3, 40*37da2899SCharles.Forsyth "headb", IHEADB, TOKI2, 41*37da2899SCharles.Forsyth "headw", IHEADW, TOKI2, 42*37da2899SCharles.Forsyth "headp", IHEADP, TOKI2, 43*37da2899SCharles.Forsyth "headf", IHEADF, TOKI2, 44*37da2899SCharles.Forsyth "headm", IHEADM, TOKI3, 45*37da2899SCharles.Forsyth "headmp", IHEADMP, TOKI3, 46*37da2899SCharles.Forsyth "tail", ITAIL, TOKI2, 47*37da2899SCharles.Forsyth "lea", ILEA, TOKI2, 48*37da2899SCharles.Forsyth "indx", IINDX, TOKI3, 49*37da2899SCharles.Forsyth "movp", IMOVP, TOKI2, 50*37da2899SCharles.Forsyth "movm", IMOVM, TOKI3, 51*37da2899SCharles.Forsyth "movmp", IMOVMP, TOKI3, 52*37da2899SCharles.Forsyth "movb", IMOVB, TOKI2, 53*37da2899SCharles.Forsyth "movw", IMOVW, TOKI2, 54*37da2899SCharles.Forsyth "movf", IMOVF, TOKI2, 55*37da2899SCharles.Forsyth "cvtbw", ICVTBW, TOKI2, 56*37da2899SCharles.Forsyth "cvtwb", ICVTWB, TOKI2, 57*37da2899SCharles.Forsyth "cvtfw", ICVTFW, TOKI2, 58*37da2899SCharles.Forsyth "cvtwf", ICVTWF, TOKI2, 59*37da2899SCharles.Forsyth "cvtca", ICVTCA, TOKI2, 60*37da2899SCharles.Forsyth "cvtac", ICVTAC, TOKI2, 61*37da2899SCharles.Forsyth "cvtwc", ICVTWC, TOKI2, 62*37da2899SCharles.Forsyth "cvtcw", ICVTCW, TOKI2, 63*37da2899SCharles.Forsyth "cvtfc", ICVTFC, TOKI2, 64*37da2899SCharles.Forsyth "cvtcf", ICVTCF, TOKI2, 65*37da2899SCharles.Forsyth "addb", IADDB, TOKI3, 66*37da2899SCharles.Forsyth "addw", IADDW, TOKI3, 67*37da2899SCharles.Forsyth "addf", IADDF, TOKI3, 68*37da2899SCharles.Forsyth "subb", ISUBB, TOKI3, 69*37da2899SCharles.Forsyth "subw", ISUBW, TOKI3, 70*37da2899SCharles.Forsyth "subf", ISUBF, TOKI3, 71*37da2899SCharles.Forsyth "mulb", IMULB, TOKI3, 72*37da2899SCharles.Forsyth "mulw", IMULW, TOKI3, 73*37da2899SCharles.Forsyth "mulf", IMULF, TOKI3, 74*37da2899SCharles.Forsyth "divb", IDIVB, TOKI3, 75*37da2899SCharles.Forsyth "divw", IDIVW, TOKI3, 76*37da2899SCharles.Forsyth "divf", IDIVF, TOKI3, 77*37da2899SCharles.Forsyth "modw", IMODW, TOKI3, 78*37da2899SCharles.Forsyth "modb", IMODB, TOKI3, 79*37da2899SCharles.Forsyth "andb", IANDB, TOKI3, 80*37da2899SCharles.Forsyth "andw", IANDW, TOKI3, 81*37da2899SCharles.Forsyth "orb", IORB, TOKI3, 82*37da2899SCharles.Forsyth "orw", IORW, TOKI3, 83*37da2899SCharles.Forsyth "xorb", IXORB, TOKI3, 84*37da2899SCharles.Forsyth "xorw", IXORW, TOKI3, 85*37da2899SCharles.Forsyth "shlb", ISHLB, TOKI3, 86*37da2899SCharles.Forsyth "shlw", ISHLW, TOKI3, 87*37da2899SCharles.Forsyth "shrb", ISHRB, TOKI3, 88*37da2899SCharles.Forsyth "shrw", ISHRW, TOKI3, 89*37da2899SCharles.Forsyth "insc", IINSC, TOKI3, 90*37da2899SCharles.Forsyth "indc", IINDC, TOKI3, 91*37da2899SCharles.Forsyth "addc", IADDC, TOKI3, 92*37da2899SCharles.Forsyth "lenc", ILENC, TOKI2, 93*37da2899SCharles.Forsyth "lena", ILENA, TOKI2, 94*37da2899SCharles.Forsyth "lenl", ILENL, TOKI2, 95*37da2899SCharles.Forsyth "beqb", IBEQB, TOKI3, 96*37da2899SCharles.Forsyth "bneb", IBNEB, TOKI3, 97*37da2899SCharles.Forsyth "bltb", IBLTB, TOKI3, 98*37da2899SCharles.Forsyth "bleb", IBLEB, TOKI3, 99*37da2899SCharles.Forsyth "bgtb", IBGTB, TOKI3, 100*37da2899SCharles.Forsyth "bgeb", IBGEB, TOKI3, 101*37da2899SCharles.Forsyth "beqw", IBEQW, TOKI3, 102*37da2899SCharles.Forsyth "bnew", IBNEW, TOKI3, 103*37da2899SCharles.Forsyth "bltw", IBLTW, TOKI3, 104*37da2899SCharles.Forsyth "blew", IBLEW, TOKI3, 105*37da2899SCharles.Forsyth "bgtw", IBGTW, TOKI3, 106*37da2899SCharles.Forsyth "bgew", IBGEW, TOKI3, 107*37da2899SCharles.Forsyth "beqf", IBEQF, TOKI3, 108*37da2899SCharles.Forsyth "bnef", IBNEF, TOKI3, 109*37da2899SCharles.Forsyth "bltf", IBLTF, TOKI3, 110*37da2899SCharles.Forsyth "blef", IBLEF, TOKI3, 111*37da2899SCharles.Forsyth "bgtf", IBGTF, TOKI3, 112*37da2899SCharles.Forsyth "bgef", IBGEF, TOKI3, 113*37da2899SCharles.Forsyth "beqc", IBEQC, TOKI3, 114*37da2899SCharles.Forsyth "bnec", IBNEC, TOKI3, 115*37da2899SCharles.Forsyth "bltc", IBLTC, TOKI3, 116*37da2899SCharles.Forsyth "blec", IBLEC, TOKI3, 117*37da2899SCharles.Forsyth "bgtc", IBGTC, TOKI3, 118*37da2899SCharles.Forsyth "bgec", IBGEC, TOKI3, 119*37da2899SCharles.Forsyth "slicea", ISLICEA, TOKI3, 120*37da2899SCharles.Forsyth "slicela", ISLICELA, TOKI3, 121*37da2899SCharles.Forsyth "slicec", ISLICEC, TOKI3, 122*37da2899SCharles.Forsyth "indw", IINDW, TOKI3, 123*37da2899SCharles.Forsyth "indf", IINDF, TOKI3, 124*37da2899SCharles.Forsyth "indb", IINDB, TOKI3, 125*37da2899SCharles.Forsyth "negf", INEGF, TOKI2, 126*37da2899SCharles.Forsyth "movl", IMOVL, TOKI2, 127*37da2899SCharles.Forsyth "addl", IADDL, TOKI3, 128*37da2899SCharles.Forsyth "subl", ISUBL, TOKI3, 129*37da2899SCharles.Forsyth "divl", IDIVL, TOKI3, 130*37da2899SCharles.Forsyth "modl", IMODL, TOKI3, 131*37da2899SCharles.Forsyth "mull", IMULL, TOKI3, 132*37da2899SCharles.Forsyth "andl", IANDL, TOKI3, 133*37da2899SCharles.Forsyth "orl", IORL, TOKI3, 134*37da2899SCharles.Forsyth "xorl", IXORL, TOKI3, 135*37da2899SCharles.Forsyth "shll", ISHLL, TOKI3, 136*37da2899SCharles.Forsyth "shrl", ISHRL, TOKI3, 137*37da2899SCharles.Forsyth "bnel", IBNEL, TOKI3, 138*37da2899SCharles.Forsyth "bltl", IBLTL, TOKI3, 139*37da2899SCharles.Forsyth "blel", IBLEL, TOKI3, 140*37da2899SCharles.Forsyth "bgtl", IBGTL, TOKI3, 141*37da2899SCharles.Forsyth "bgel", IBGEL, TOKI3, 142*37da2899SCharles.Forsyth "beql", IBEQL, TOKI3, 143*37da2899SCharles.Forsyth "cvtlf", ICVTLF, TOKI2, 144*37da2899SCharles.Forsyth "cvtfl", ICVTFL, TOKI2, 145*37da2899SCharles.Forsyth "cvtlw", ICVTLW, TOKI2, 146*37da2899SCharles.Forsyth "cvtwl", ICVTWL, TOKI2, 147*37da2899SCharles.Forsyth "cvtlc", ICVTLC, TOKI2, 148*37da2899SCharles.Forsyth "cvtcl", ICVTCL, TOKI2, 149*37da2899SCharles.Forsyth "headl", IHEADL, TOKI2, 150*37da2899SCharles.Forsyth "consl", ICONSL, TOKI2, 151*37da2899SCharles.Forsyth "newcl", INEWCL, TOKI1, 152*37da2899SCharles.Forsyth "casec", ICASEC, TOKI2, 153*37da2899SCharles.Forsyth "indl", IINDL, TOKI3, 154*37da2899SCharles.Forsyth "movpc", IMOVPC, TOKI2, 155*37da2899SCharles.Forsyth "tcmp", ITCMP, TOKI2, 156*37da2899SCharles.Forsyth "mnewz", IMNEWZ, TOKI3, 157*37da2899SCharles.Forsyth "cvtrf", ICVTRF, TOKI2, 158*37da2899SCharles.Forsyth "cvtfr", ICVTFR, TOKI2, 159*37da2899SCharles.Forsyth "cvtws", ICVTWS, TOKI2, 160*37da2899SCharles.Forsyth "cvtsw", ICVTSW, TOKI2, 161*37da2899SCharles.Forsyth "lsrw", ILSRW, TOKI3, 162*37da2899SCharles.Forsyth "lsrl", ILSRL, TOKI3, 163*37da2899SCharles.Forsyth "eclr", IECLR, TOKI0, 164*37da2899SCharles.Forsyth "newz", INEWZ, TOKI2, 165*37da2899SCharles.Forsyth "newaz", INEWAZ, TOKI3, 166*37da2899SCharles.Forsyth "raise", IRAISE, TOKI1, 167*37da2899SCharles.Forsyth "casel", ICASEL, TOKI2, 168*37da2899SCharles.Forsyth "mulx", IMULX, TOKI3, 169*37da2899SCharles.Forsyth "divx", IDIVX, TOKI3, 170*37da2899SCharles.Forsyth "cvtxx", ICVTXX, TOKI3, 171*37da2899SCharles.Forsyth "mulx0", IMULX0, TOKI3, 172*37da2899SCharles.Forsyth "divx0", IDIVX0, TOKI3, 173*37da2899SCharles.Forsyth "cvtxx0", ICVTXX0, TOKI3, 174*37da2899SCharles.Forsyth "mulx1", IMULX1, TOKI3, 175*37da2899SCharles.Forsyth "divx1", IDIVX1, TOKI3, 176*37da2899SCharles.Forsyth "cvtxx1", ICVTXX1, TOKI3, 177*37da2899SCharles.Forsyth "cvtfx", ICVTFX, TOKI3, 178*37da2899SCharles.Forsyth "cvtxf", ICVTXF, TOKI3, 179*37da2899SCharles.Forsyth "expw", IEXPW, TOKI3, 180*37da2899SCharles.Forsyth "expl", IEXPL, TOKI3, 181*37da2899SCharles.Forsyth "expf", IEXPF, TOKI3, 182*37da2899SCharles.Forsyth "self", ISELF, TOKI1, 183*37da2899SCharles.Forsyth 0, 184*37da2899SCharles.Forsyth }; 185