这个是真的难,只是懂运行逻辑
不知道怎么去搞到正确的代码,搞了我老半天
手动创建词法分析器,具体内容详见实验一说明
直接上代码先
代码补充一
要求是在识别到是左括号的时候运行的逻辑
else if (c == '{')
{
state = INCOMMENT ;//代码一: 填充代码
save = FALSE;
}
代码补充二
要求比较多,后面梳理一下逻辑再讲
case INASSIGN:
{
if(c == "=")
{
state == DONE;
currentToken = ASSIGN;
}
else
{
currentToken = ASSIGN;
state = DONE;
}
//代码二:补充此代码
}
主要是还有坑
需要换上这个代码,上课听老师讲课的时候,低头自己打代码了,结果就没看到,自己搞了老半天
case INID:
if (!(isalpha(c))&&!isdigit(c)&&c != '_')
{
ungetNextChar();
save = FALSE;
state = DONE;
currentToken = ID;
}
break;