代码拉取完成,页面将自动刷新
同步操作将从 zren/compiler-homework2 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
#include <stdio.h>
#include <ctype.h>
#include <string.h>
#define KEY 6
char *keyword[KEY] = {"for", "if", "then", "else", "while", "do"};
char id[1024];
int num;
int token;
void lexical(FILE *fp) {
char x = getc(fp);
num = 0;
strcpy(id, "\0");
//process x
//process each regex here
//store the result in global variables id, num, or token
//in case of backtrack, use
//ungetc(x, fp);
}
int main(int argc, const char *argv[])
{
if(argc < 2) {
printf("insufficient args\n");
return 1;
}
FILE *fp = fopen(argv[1], "r");
do {
lexical(fp);
switch(token) {
case 10: printf("(id, %s)\n", id); break;
case 11: printf("(num, %d)\n", num); break;
case -1: printf("error!\n"); break;
default: printf("(%d, %s)\n", token, id);
}
} while(token != 0);
fclose(fp);
return 0;
}
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。