版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 1 / 8 /文法为/(0)E' #E#/(1)E E+T /(2)E T/(3)T T*F /(4)T F/(5)F PF /(6)F P/(7)P (E) /(8)P i /根据算符优先文法的分析规则求得终结符优先关系表/ + * i ( )
2、0; #/ + > < < < < > >/ * > > < < &
3、#160; < > >/ > > < < < > >/ i > >
4、160; > > >/ ( < < < < < = /
5、60; ) > > > > >/ # < < < < &
6、#160; < =#include<stdlib.h>#include<stdio.h>#include<dos.h>#include<stdio.h>#include<string.h>#include<ctype.h>#include<iostream.h>#define SIZE 128char youxian77; /算符优先关系数组char lexbufSIZE; /存放输入的
7、要进行分析的句子char lexSIZE; /存放剩余串char fenxizhanSIZE;/分析栈void fenxi();int panduanyou(char x);void shengyuchuan();int k;void zengjia();void main() /将算符优先关系存放在算符优先关系数组里 youxian00='>' youxian01='<' youxian02='<' youxian
8、03='<' youxian04='<' youxian05='>' youxian06='>' /_ youxian10='>' youxian11='>' youxian12='<' youxian13='<' youxian14='<' youxian15='>'
9、;youxian16='>' /_ youxian20='>' youxian21='>' youxian22='<' youxian23='<' youxian24='<' youxian25='>' youxian26='>' /_ youxian30='>' youxian31=
10、9;>' youxian32='>' youxian33='$'/无优先关系的用$表示 youxian34='$' youxian35='>' youxian36='>' /_ youxian40='<' youxian41='<' youxian42='<' &
11、#160; youxian43='<' youxian44='<' youxian45='=' youxian46='$' /_ youxian50='>' youxian51='>' youxian52='>' youxian53='$'
12、; youxian54='$' youxian55='>' youxian56='>' /_ youxian60='<' youxian61='<' youxian62='<' youxian63='<' youxian64='<
13、39; youxian65='$' youxian66='=' /_ printf("现在就要进行算符优先分析,请做好准备 n"); printf("*n"); printf("请输入要进行分析的句子n&q
14、uot;); cin.get(lexbuf,SIZE); /将输入的字符串存到数组 printf("步骤 栈 优先关系 当前符号 剩余输入串 移进或归约n"); k=0; fenxizhank='#' fenxizhank+1='0' int lenth,i1; /初始化 剩余串数
15、组为输入串 lenth=strlen(lexbuf); for(i1=0;i1<lenth;i1+) lexi1=lexbufi1; lexi1='0' fenxi(); void fenxi() int i,j,f,z,z1,n,n1,z4,n4; int flag=0;/操作的步骤数 char a; /存放正在分析的字符 char p6,Q,p1,p4;
16、0; f=strlen(lexbuf); /测出数组的长度 for(i=0;i<f;i+) a=lexbufi; if(fenxizhank='+'|fenxizhank='*'|fenxizhank=''|fenxizhank='i'|fenxizhank='('|fenxizhank=')'|fenxizhank='#') j=k; else &
17、#160; j=k-1; z=panduanyou(fenxizhanj);/ 从优先关系表中查出sj和a的优先关系 if(a='+'|a='*'|a=''|a='i'|a='('|a=')'|a='#') n=panduanyou(a); else /如果句子含有不是终结符集合里的其它字符,不合法 p
18、rintf("error!不合法的句子"); break; p6=youxianzn; if(p6='>') loop: Q=fenxizhanj; if(fenxizhanj-1='+'|fenxizhanj-1='*'|fenxizhanj-1=''|fenxizhanj-1='i'|fenxizhanj-1='('|fenxizhanj-1=')
19、9;|fenxizhanj-1='#') j=j-1; else j=j-2; z1=panduanyou(fenxizhanj); n1=panduanyou(Q); p1=youxianz1n1; if(p1='<') /fenxizhanj+1fenxizhank归约为N k=j+1;
20、160; shengyuchuan(); flag+; printf("(%d) %s %c %c %s
21、0; 归约n",flag,fenxizhan,p6,a,lex); i-; fenxizhank='N' int hou,hou1; hou=strlen(fenxizhan); for(hou1=k+1;hou1<hou;hou1+) fenxizhanhou1='0'/多个字符归约,把栈顶后面的舍弃 zengjia();/归约剩余串没变化
22、; else goto loop; else if(p6='<') /移进 有一个问题就是如果上一步是不归约,剩余的字符串减少一个 shengyuchuan(); &
23、#160; lexbuff='0' flag=flag+1; printf("(%d) %s %c %c %s
24、0; 移进n",flag,fenxizhan,p6,a,lex); /printf("1 "); /printf(" %s ",fenxizhan); /printf(" %c ",p); / printf("
25、; %c ",a); /printf(" %s",lex); /printf(" 移进n"); / printf("%s",lex); /printf(&qu
26、ot;(i)"); k=k+1; fenxizhank=a; else if(p6='=') z4=panduanyou(fenxizhanj); n4=panduanyou('#'); p4=youxianz4n4; if(p4='=')
27、60; shengyuchuan(); flag+; printf("(%d) %s %c %c %s 接受n",flag,fenxizhan,p6,a,lex); printf("合法的句子"); break;
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 空调器安装工岗后评优考核试卷含答案
- 仪器仪表维修工安全风险强化考核试卷含答案
- 锑白炉工班组评比能力考核试卷含答案
- 片剂工持续改进水平考核试卷含答案
- (学生版)平面向量的数量积题型五:垂直关系专项训练-2025-2026学年高一下学期数学人教A版必修第二册
- 员工考勤奖惩制度
- 医院挂号就诊流程制度
- 学历教育:开启未来-塑造个人职业发展的关键路径
- 医院管理岗前培训考核试题及答案
- 爱汉字趣味猜谜题目及答案
- 档案数字资源安全存储与备份方案
- 2026青海海南州同仁市融媒体中心编外专业技术人员招聘12人考试备考题库及答案解析
- 智能化系统投标智能化系统技术标智能化系统施工组织方案
- 成人继续教育学位英语辅导合同
- 爱国卫生经费管理制度
- 网咖管理办法
- 园区厂房租赁管理制度(3篇)
- 驾驶人员技能培训课件
- 2026年武汉市户外热气球服务合同
- 医院安全警示教育课件
- 2026年儿童发育行为中心理论考核试题
评论
0/150
提交评论