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

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

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

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

代码补充一

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

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;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值