(完整word版)编译原理算符优先算法语法分析实验报告

上传人:cn****1 文档编号:457741634 上传时间:2022-09-28 格式:DOC 页数:3 大小:47.50KB
返回 下载 相关 举报
(完整word版)编译原理算符优先算法语法分析实验报告_第1页
第1页 / 共3页
(完整word版)编译原理算符优先算法语法分析实验报告_第2页
第2页 / 共3页
(完整word版)编译原理算符优先算法语法分析实验报告_第3页
第3页 / 共3页
亲,该文档总共3页,全部预览完了,如果喜欢就下载吧!
资源描述

《(完整word版)编译原理算符优先算法语法分析实验报告》由会员分享,可在线阅读,更多相关《(完整word版)编译原理算符优先算法语法分析实验报告(3页珍藏版)》请在金锄头文库上搜索。

1、数学与计算机学院编译原理实验报告年级专业_学号姓名 成绩 实验题目算符优先分析法分析器的设计实验日期_一、实验目的:设计一个算符优先分析器,理解优先分析方法的原理。二、实验要求:设计一个算符优先分析器三、实验内容:使用算符优先分析算法分析下面的文法:E t #E#E t E+T | TT t T*F | FF t Paf | PP t (E) | i其中i可以看作是一个终结符,无需作词法分析。具体要求如下:1、如果输入符号串为正确句子,显示分析步骤,包括分析栈中的内容、优先关系、输入符 号串的变化情况;2、如果输入符号串不是正确句子,则指示出错位置。四、实验结果及主要代码:1主要代码void

2、operatorp()char s100;char a,Q;int k,j,i,l;stri ng in put,temp;cinin put;cout步骤t栈t优先关 系t当前符号t剩 余输 入 串t移进或归约endl;k=1;sk=#;i=1;doa=i nput0;temp=;for(l=1;l)cout(i)t; / 步骤 temp=;for(l=1;lk+1;l+)temp+=sl;couttempt; / 栈 couttsetw(10); coutatsetw(15);coutinputtsetw(15);i+;for(;)Q=sj;if(svt(sj-1) j=j-1;else

3、j=j-2;if(search(sj,Q)=)cout 归约 endl;/ 归约 break;temp=;for(l=j+1;lk+1;l+)temp+=sl;for(l=0;l6;l+) if(temp=keyl) k=j+1;sk=vl;break;cout(i)t; / 步骤 temp=;for(l=1;lk+1;l+) temp+=sl;couttempt;/ 栈if(search(sj,a)=)/ 优先关系/ 当前符号/ 剩余输入串/ 优先关系/ 当前符号/ 剩余输入串couttsetw(10); coutatsetw(15); coutinputtsetw(15); cout 移进

4、 endl;i+;k=k+1;sk=a; /移进else if(search(sj,a)=Y)/优先关系/当前符号/剩余输入串cout=tsetw(10); coutatsetw(15); couti nputtsetw(15); cout接受endl;i+; else /优先关系/当前符号/剩余输入串cout?tsetw(10);coutatsetw(15);couti nputtsetw(15);cout出错endl;exit(0);/出错while(a!=#);2实验结果1 R201询译原理、偏谭原洼卖盟口perator_precedence_reductioroperator_precedence_red. I. = | 凹请输入需要分析的串,以,护结尾,回车结束: i-i# 步骤Press优先关系栈ttttian 1/ key to cont inue当前符号-1剩余输入串itt移曙约 F:2012涓译原理编谭原理实盟:operator_precedence_reducti0roperartor_precedence_recl.tJI请输入需要分析的串,以,护结尾,回车结束:i+i#步骤 m Press优先关系当前符号i#i#F#F+#F+F#F=ankey to continue剩余输入串+i# iff# itttt#ttaII

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 商业/管理/HR > 商业计划书

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号