forsyth20121205-174063a80cc13 years agoHistory
184 lines · 4.4 KB · C
RawDownload
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,};