summaryrefslogtreecommitdiff
path: root/libinterp/tab.h
diff options
context:
space:
mode:
authorCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
committerCharles.Forsyth <devnull@localhost>2006-12-22 17:07:39 +0000
commit37da2899f40661e3e9631e497da8dc59b971cbd0 (patch)
treecbc6d4680e347d906f5fa7fca73214418741df72 /libinterp/tab.h
parent54bc8ff236ac10b3eaa928fd6bcfc0cdb2ba46ae (diff)
20060303a
Diffstat (limited to 'libinterp/tab.h')
-rw-r--r--libinterp/tab.h184
1 files changed, 184 insertions, 0 deletions
diff --git a/libinterp/tab.h b/libinterp/tab.h
new file mode 100644
index 00000000..bc9dda1c
--- /dev/null
+++ b/libinterp/tab.h
@@ -0,0 +1,184 @@
+struct
+{
+ char* name;
+ int op;
+ int terminal;
+}keywds[] =
+{
+ "nop", INOP, TOKI0,
+ "alt", IALT, TOKI3,
+ "nbalt", INBALT, TOKI3,
+ "goto", IGOTO, TOKI2,
+ "call", ICALL, TOKI2,
+ "frame", IFRAME, TOKI2,
+ "spawn", ISPAWN, TOKI2,
+ "runt", IRUNT, TOKI2,
+ "load", ILOAD, TOKI3,
+ "mcall", IMCALL, TOKI3,
+ "mspawn", IMSPAWN, TOKI3,
+ "mframe", IMFRAME, TOKI3,
+ "ret", IRET, TOKI0,
+ "jmp", IJMP, TOKI1,
+ "case", ICASE, TOKI2,
+ "exit", IEXIT, TOKI0,
+ "new", INEW, TOKI2,
+ "newa", INEWA, TOKI3,
+ "newcb", INEWCB, TOKI1,
+ "newcw", INEWCW, TOKI1,
+ "newcf", INEWCF, TOKI1,
+ "newcp", INEWCP, TOKI1,
+ "newcm", INEWCM, TOKI2,
+ "newcmp", INEWCMP, TOKI2,
+ "send", ISEND, TOKI2,
+ "recv", IRECV, TOKI2,
+ "consb", ICONSB, TOKI2,
+ "consw", ICONSW, TOKI2,
+ "consp", ICONSP, TOKI2,
+ "consf", ICONSF, TOKI2,
+ "consm", ICONSM, TOKI3,
+ "consmp", ICONSMP, TOKI3,
+ "headb", IHEADB, TOKI2,
+ "headw", IHEADW, TOKI2,
+ "headp", IHEADP, TOKI2,
+ "headf", IHEADF, TOKI2,
+ "headm", IHEADM, TOKI3,
+ "headmp", IHEADMP, TOKI3,
+ "tail", ITAIL, TOKI2,
+ "lea", ILEA, TOKI2,
+ "indx", IINDX, TOKI3,
+ "movp", IMOVP, TOKI2,
+ "movm", IMOVM, TOKI3,
+ "movmp", IMOVMP, TOKI3,
+ "movb", IMOVB, TOKI2,
+ "movw", IMOVW, TOKI2,
+ "movf", IMOVF, TOKI2,
+ "cvtbw", ICVTBW, TOKI2,
+ "cvtwb", ICVTWB, TOKI2,
+ "cvtfw", ICVTFW, TOKI2,
+ "cvtwf", ICVTWF, TOKI2,
+ "cvtca", ICVTCA, TOKI2,
+ "cvtac", ICVTAC, TOKI2,
+ "cvtwc", ICVTWC, TOKI2,
+ "cvtcw", ICVTCW, TOKI2,
+ "cvtfc", ICVTFC, TOKI2,
+ "cvtcf", ICVTCF, TOKI2,
+ "addb", IADDB, TOKI3,
+ "addw", IADDW, TOKI3,
+ "addf", IADDF, TOKI3,
+ "subb", ISUBB, TOKI3,
+ "subw", ISUBW, TOKI3,
+ "subf", ISUBF, TOKI3,
+ "mulb", IMULB, TOKI3,
+ "mulw", IMULW, TOKI3,
+ "mulf", IMULF, TOKI3,
+ "divb", IDIVB, TOKI3,
+ "divw", IDIVW, TOKI3,
+ "divf", IDIVF, TOKI3,
+ "modw", IMODW, TOKI3,
+ "modb", IMODB, TOKI3,
+ "andb", IANDB, TOKI3,
+ "andw", IANDW, TOKI3,
+ "orb", IORB, TOKI3,
+ "orw", IORW, TOKI3,
+ "xorb", IXORB, TOKI3,
+ "xorw", IXORW, TOKI3,
+ "shlb", ISHLB, TOKI3,
+ "shlw", ISHLW, TOKI3,
+ "shrb", ISHRB, TOKI3,
+ "shrw", ISHRW, TOKI3,
+ "insc", IINSC, TOKI3,
+ "indc", IINDC, TOKI3,
+ "addc", IADDC, TOKI3,
+ "lenc", ILENC, TOKI2,
+ "lena", ILENA, TOKI2,
+ "lenl", ILENL, TOKI2,
+ "beqb", IBEQB, TOKI3,
+ "bneb", IBNEB, TOKI3,
+ "bltb", IBLTB, TOKI3,
+ "bleb", IBLEB, TOKI3,
+ "bgtb", IBGTB, TOKI3,
+ "bgeb", IBGEB, TOKI3,
+ "beqw", IBEQW, TOKI3,
+ "bnew", IBNEW, TOKI3,
+ "bltw", IBLTW, TOKI3,
+ "blew", IBLEW, TOKI3,
+ "bgtw", IBGTW, TOKI3,
+ "bgew", IBGEW, TOKI3,
+ "beqf", IBEQF, TOKI3,
+ "bnef", IBNEF, TOKI3,
+ "bltf", IBLTF, TOKI3,
+ "blef", IBLEF, TOKI3,
+ "bgtf", IBGTF, TOKI3,
+ "bgef", IBGEF, TOKI3,
+ "beqc", IBEQC, TOKI3,
+ "bnec", IBNEC, TOKI3,
+ "bltc", IBLTC, TOKI3,
+ "blec", IBLEC, TOKI3,
+ "bgtc", IBGTC, TOKI3,
+ "bgec", IBGEC, TOKI3,
+ "slicea", ISLICEA, TOKI3,
+ "slicela", ISLICELA, TOKI3,
+ "slicec", ISLICEC, TOKI3,
+ "indw", IINDW, TOKI3,
+ "indf", IINDF, TOKI3,
+ "indb", IINDB, TOKI3,
+ "negf", INEGF, TOKI2,
+ "movl", IMOVL, TOKI2,
+ "addl", IADDL, TOKI3,
+ "subl", ISUBL, TOKI3,
+ "divl", IDIVL, TOKI3,
+ "modl", IMODL, TOKI3,
+ "mull", IMULL, TOKI3,
+ "andl", IANDL, TOKI3,
+ "orl", IORL, TOKI3,
+ "xorl", IXORL, TOKI3,
+ "shll", ISHLL, TOKI3,
+ "shrl", ISHRL, TOKI3,
+ "bnel", IBNEL, TOKI3,
+ "bltl", IBLTL, TOKI3,
+ "blel", IBLEL, TOKI3,
+ "bgtl", IBGTL, TOKI3,
+ "bgel", IBGEL, TOKI3,
+ "beql", IBEQL, TOKI3,
+ "cvtlf", ICVTLF, TOKI2,
+ "cvtfl", ICVTFL, TOKI2,
+ "cvtlw", ICVTLW, TOKI2,
+ "cvtwl", ICVTWL, TOKI2,
+ "cvtlc", ICVTLC, TOKI2,
+ "cvtcl", ICVTCL, TOKI2,
+ "headl", IHEADL, TOKI2,
+ "consl", ICONSL, TOKI2,
+ "newcl", INEWCL, TOKI1,
+ "casec", ICASEC, TOKI2,
+ "indl", IINDL, TOKI3,
+ "movpc", IMOVPC, TOKI2,
+ "tcmp", ITCMP, TOKI2,
+ "mnewz", IMNEWZ, TOKI3,
+ "cvtrf", ICVTRF, TOKI2,
+ "cvtfr", ICVTFR, TOKI2,
+ "cvtws", ICVTWS, TOKI2,
+ "cvtsw", ICVTSW, TOKI2,
+ "lsrw", ILSRW, TOKI3,
+ "lsrl", ILSRL, TOKI3,
+ "eclr", IECLR, TOKI0,
+ "newz", INEWZ, TOKI2,
+ "newaz", INEWAZ, TOKI3,
+ "raise", IRAISE, TOKI1,
+ "casel", ICASEL, TOKI2,
+ "mulx", IMULX, TOKI3,
+ "divx", IDIVX, TOKI3,
+ "cvtxx", ICVTXX, TOKI3,
+ "mulx0", IMULX0, TOKI3,
+ "divx0", IDIVX0, TOKI3,
+ "cvtxx0", ICVTXX0, TOKI3,
+ "mulx1", IMULX1, TOKI3,
+ "divx1", IDIVX1, TOKI3,
+ "cvtxx1", ICVTXX1, TOKI3,
+ "cvtfx", ICVTFX, TOKI3,
+ "cvtxf", ICVTXF, TOKI3,
+ "expw", IEXPW, TOKI3,
+ "expl", IEXPL, TOKI3,
+ "expf", IEXPF, TOKI3,
+ "self", ISELF, TOKI1,
+ 0,
+};