云题海 - 专业文章范例文档资料分享平台

当前位置:首页 > 编译原理 语法分析

编译原理 语法分析

  • 62 次阅读
  • 3 次下载
  • 2025/6/17 9:34:02

福州大学 数学与计算机科学(软件)学院

switch(state) { case 0: {ch=arr[i++];forward++;} if(ch=='<')state=1; else if(ch=='=')state=5; else if(ch='>')state=6; break; case 1:{ch=arr[i++];forward++;} if(ch=='=')state=2; else if(ch=='>')state=3; else state=4; break; case 2:print(5); break; case 3:print(5); break; case 4:{i=i-1;forward=forward-1;print(5);} break; case 5:print(5);break; case 6:{ch=arr[i++];forward++;} if(ch=='=')state=7; else state=8; break; case 7:print(5);break; case 8:{i=i-1;forward=forward-1;print(5);} break; case 9:{ch=arr[i++];forward++;} if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))state=10; break; case 10:{ch=arr[i++];forward++;} if((ch>='a'&&ch<='z')||(ch>='A'&&ch<='Z'))state=10; else if(ch>='0'&&ch<='9')state=10; else state=11; break; case 11: i=i-1;forward=forward-1;print(1); break; case 12:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=13; break; case 13:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=13; else if (ch=='E')state=16; else if(ch=='.')state=14; else state=20; break;

13

福州大学 数学与计算机科学(软件)学院

case 14:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=15; else state=32; break;

case 15:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=15; else if(ch=='E')state=16; else state=21; break;

case 16:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=18; else if(ch=='+'||ch=='-')state=17; else state=32; break;

case 17:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=18; else state=32; break;

case 18:{ch=arr[i++];forward++;} if(ch>='0'&&ch<='9')state=18; else state=19; break;

case 19:{i=i-1;forward=forward-1;print(2);}break; case 20:{i=i-1;forward=forward-1;print(2);}break; case 21:{i=i-1;forward=forward-1;print(2);}break; case 22:{ch=arr[i++];forward++;} if(ch=='\\n'||ch=='\\t'||ch==' ') state=23; break;

case 23:{ch=arr[i++];forward++;} if(ch=='\\n'||ch=='\\t'||ch==' ') state=23; else state=24; break;

case 24:{i=i-1; forward=forward-1;begin+=1; forward=begin;} break;

case 25:{ch=arr[i++];forward++;} if(ch=='+')state=26; else if(ch=='-')state=27; else if(ch=='*')state=28; else if(ch=='/')state=29; break;

case 26:print(4);break; case 27:print(4);break; case 28:print(4);break;

14

福州大学 数学与计算机科学(软件)学院

case 29:print(4);break; case 30:{ch=arr[i++];forward++;}print(3);break; case 31:{ch=arr[i++];forward++;}print(6);break; case 32:{i=i-1;forward=forward-1;}print(6);break; } }

//语法分析;字符串输入以@结束 printf(\输入的字符串以结束@\\n\in_put[val]='@'; printf(\printf(\i=0;j=0;

list1.push_back(0); char n,c; int m,bg,len;

printf(\栈 符号 输入 while(1) { for(it1=list1.begin();it1!=list1.end();it1++) printf(\ printf(\ \ for(it2=list2.begin();it2!=list2.end();it2++) printf(\ printf(\ \ for(i=j;i<=val;i++) printf(\ printf(\ \ bg=list1.back(); n=in_put[j]; flag=change(n); if(f[bg][flag]>100) { m=f[bg][flag]/100; printf(\移入\\n\ list1.push_back(m); list2.push_back(in_put[j]); j++; } else if(f[bg][flag]<100&&f[bg][flag]!=20&&f[bg][flag]!=0) { m=f[bg][flag]; printf(\根据%s规约\\n\

动作 \\n\\n\15

福州大学 数学与计算机科学(软件)学院

c=wf[m][0]; flag=change(c); len=strlen(wf[m])-3; for(i=0;i

printf(\ printf(\ printf(\ break; } } return 0; } void print(int b) //输出 { pos=begin; for(t=0;t

} begin=forward; switch(b) {

case 1: {

16

搜索更多关于: 编译原理 语法分析 的文档
  • 收藏
  • 违规举报
  • 版权认领
下载文档10.00 元 加入VIP免费下载
推荐下载
本文作者:...

共分享92篇相关文档

文档简介:

福州大学 数学与计算机科学(软件)学院 switch(state) { case 0: {ch=arr[i++];forward++;} if(ch=='')state=6; break; case 1:{ch=arr[i++];forward++;} if(ch=='=')state=2; else if(ch=='>')state=3; else state=4; break; case 2:print(5); break; case 3:print(5); break; case 4:{i=i

× 游客快捷下载通道(下载后可以自由复制和排版)
单篇付费下载
限时特价:10 元/份 原价:20元
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219
Copyright © 云题海 All Rights Reserved. 苏ICP备16052595号-3 网站地图 客服QQ:370150219 邮箱:370150219@qq.com