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

📄 util.cpp

📁 c语言编写
💻 CPP
字号:

#include"globals.h"
#include"util.h"
void reposition(FILE* source)
{
	rewind(source);
	lineno=0;
}
void printToken(TokenType token,const char* tokenString)
{
	switch(token)
	{
		case IF:
		case ELSE:
		case INT:
		case RETURN:
		case WHILE:
		case VOID:
			fprintf(listing,"reserved word:%s\n",tokenString);
			break;
		case ASSIGN:fprintf(listing,"=\n");break;
		case LT: fprintf(listing,"<\n");break;
		case LTOREQ: fprintf(listing,"<=\n");break;
		case BI: fprintf(listing,">\n");break;
		case BIOREQ: fprintf(listing,">=\n");break;
		case EQ: fprintf(listing,"==\n");break;
		case NEQ: fprintf(listing,"!=\n");break;
		case PLUS: fprintf(listing,"+\n");break;
		case MINUS: fprintf(listing,"-\n");break;
		case TIMES: fprintf(listing,"*\n");break;
		case OVER: fprintf(listing,"/\n");break;
		case SEMI: fprintf(listing,";\n");break;
		case COMA: fprintf(listing,",\n");break;
		case LROUNDBRA: fprintf(listing,"(\n");break;
		case RROUNDBRA: fprintf(listing,")\n");break;
		case LSQUARPAREN: fprintf(listing,"[\n");break;
		case RSQUARPAREN: fprintf(listing,"]\n");break;
		case LBRAC: fprintf(listing,"{\n");break;
		case RBRAC: fprintf(listing,"}\n");break;
		case LCOM: fprintf(listing,"/*\n");break;
		case RCOM: fprintf(listing,"*/\n");break;
		case ENDFILE:fprintf(listing,"EOF\n");break;
		case NUM:
			fprintf(listing,"NUM,val=%s\n",tokenString);
			break;
		case ID:
			fprintf(listing,"ID,name=%s\n",tokenString);
			break;
		case ERROR:
			fprintf(listing,"ERROR:%s\n",tokenString);
			break;
		default:
			fprintf(listing,"Unknown: %d\n",token);
	}
	return;
}
char* copyString(char* s)
{
	char *t;
	if (s==NULL) return NULL;
	int len=strlen(s)+1;
	t=new char[strlen(s)+1];
	if (t==NULL)
		fprintf(listing,"Out of memory at line %d\n",lineno);
	else
		strcpy(t,s);
	return t;
}

⌨️ 快捷键说明

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