编译原理实验一手动创建词法分析器

发布时间 2023-06-17 22:37:38作者: hellciw

这个是真的难,只是懂运行逻辑

不知道怎么去搞到正确的代码,搞了我老半天

手动创建词法分析器,具体内容详见实验一说明
直接上代码先

代码补充一

要求是在识别到是左括号的时候运行的逻辑

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;