⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ops.c

📁 浙江大学编译原理课程设计源代码,高等院校计算机专业
💻 C
字号:
#include "common.h"ops_entry ops_table[] = {	{"CNST", CNST},	{"ARG", ARG},	{"ASGN", ASGN},	{"INDIR", INDIR},	{"SYS", SYS},	{"CVF", CVF},	{"CVI", CVI},	{"CVP", CVP},	{"CVB", CVB},	{"NEG", NEG},	{"CALL", CALL},	{"LOAD", LOAD},	{"RET", RET},	{"ADDRG", ADDRG},	{"ADDRF", ADDRF},	{"ADDRL", ADDRL},	{"ADD", ADD},	{"SUB", SUB},	{"LSH", LSH},	{"MOD", MOD},	{"RSH", RSH},	{"BAND", BAND},	{"BCOM", BCOM},	{"BOR", BOR},	{"BXOR", BXOR},	{"DIV", DIV},	{"MUL", MUL},	{"EQ", EQ},	{"GE", GE},	{"GT", GT},	{"LE", LE},	{"LT", LT},	{"NE", NE},	{"JUMP", JUMP},	{"LABEL", LABEL},	{"AND", AND},	{"NOT", NOT},	{"OR", OR},	{"COND", COND},	{"RIGHT", RIGHT},	{"FIELD", FIELD},	{"INCR", INCR},	{"DECR", DECR},	{"ARRAY", ARRAY},	{"FUNCTION", FUNCTION},	{"ROUTINE", ROUTINE},	{"HEADER", HEADER},	{"TAIL	", TAIL	},	{"BLOCKBEG", BLOCKBEG},	{"BLOCKEND", BLOCKEND},	{"LASTOP", LASTOP}};char *get_op_name(int op){    int left = 0, right;    int middle;    right = sizeof(ops_table) / sizeof(ops_entry);    while (left <= right)    {        middle = (right + left) / 2;        if (ops_table[middle].op < op)        {            left = middle + 1;        }        else if (ops_table[middle].op == op)        {            return ops_table[middle].name;        }        else        {            right = middle - 1;        }    }	return "Unknown op";}int get_op(char *name){    int i;    for (i = 0; i < sizeof(ops_table) / sizeof(ops_entry); i++)    {        if (strcasecmp(name, ops_table[i].name) == 0)            return ops_table[i].op;    }    return LASTOP;}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -