- 1、本文档共4页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
实验编译原理预测分析表方法试验报告
实验7-8 预测分析表方法
一、实验目的
理解预测分析表方法的实现原理。
二、实验内容:
编写一通用的预测法分析程序,要求有一定的错误处理能力,出错后能够使程序继续运行下去,直到分析过程结束。可通过不同的文法(通过数据表现)进行测试。
三.实验要求:
给定算术表达式文法,编写程序,测试数据。
算术表达式文法
E→TE’
E’ → +TE’|- TE’|ε
T→FT’
T’ →*FT’ |/ FT’ |%FT’|ε
F→(E) |id|num
四.实验过程:
1.实验代码:
import java.io.*;
import javax.swing.JOptionPane;
public class predict {
int length_vn=5,length_vt=10;
static int i,j,i1=0,e_flag=0;
public predict() {}
static String VN[]={E,e,T,t,F};
static String VT[]={+,-,*,/,%,(,),d,n,#;
static String CS[]={Te,+Te,-Te,$,Ft,*Ft,/Ft,%Ft,,(E),d,n};
static String follow[][]={{#,)},{#,)},{#,),+,-},{#,),+,-},{#,),+,-,*,/,%}};
static int analysis_table[][]={{-1,-1,-1,-1,-1,0,-1,0,0,-1},{1,2,-1,-1,-1,-1,3,-1,-1,3},{-1,-1,-1,-1,-1,4,-1,4,4,-1},{8,8,5,6,7,-1,8,-1,-1,8},{-1,-1,-1,-1,-1,9,-1,10,11,-1}};
public void locate(String vn,String vt){
for(int a=0;a5;a++){
if(VN[a].equals(vn)){
i=a;break;
}
else i=-1;
}
for(int b=0;b10;b++){
if(VT[b].equals(vt)){
j=b;break;
}
else j=-1;
}
}
public void equal(int vn,int vt){
String cs=;
if(analysis_table[vn][vt]==-1) {
int a;
for(a=0;afollow[vn].length;a++)
{ if(follow[vn][a].equals(VT[vt]))break;
}
if(afollow[vn].length)error1();
else error2(vt);
}
else {
cs=CS[analysis_table[vn][vt]];
int cs_length=cs.length();
char achar[]=new char[cs_length];
char bchar[]=new char[cs_length];
cs.getChars(0,cs_length,achar,0);
for(int a=0,b=cs_length-1;acs_length;a++,b--){
bchar[b]=achar[a];
}
String newstr=new String(bchar);
in_Stack(newstr);
}
}
public void error1(){
System.out.println(出错,弹出栈顶符号);
}
public void error2(int vt){
System.out.println(出错,跳过+VT[vt]);
in_Stack(VN[i]);
i1++;
您可能关注的文档
- 官方发布2158道中餐饭菜英文译名-热菜猪肉类.doc
- 考研英语图表写作.doc
- 项目重新定位文案和推广主题.doc
- 第八章中药的贮存与养护.doc
- XX电厂60W机组脱硫电气、仪表施工方案.doc
- 古典四合院婚宴场地.docx
- 化学植筋加固施工工艺_secret.doc
- 网上全文数据.ppt
- 箱式燃气调压站卢.ppt
- 传感器试卷10.doc
- 2025年多式联运信息共享平台在供应链金融中的应用效果研究报告.docx
- 2025年资源型城市绿色转型发展模式下的绿色金融产品创新与推广.docx
- 高端装备制造业知识产权战略布局报告:聚焦机器人产业.docx
- 教育科技企业市场推广效果优化与品牌建设报告.docx
- 2025年融资租赁行业资产质量改善与数字化转型研究报告.docx
- 2025年纺织服装制造业智能化生产中的智能化生产设备租赁市场前景研究报告.docx
- 2025年社交媒体内容生态与算法推荐技术发展趋势报告.docx
- 2025年中医药现代化创新技术在儿童疾病治疗中的应用报告.docx
- 数字水印技术在工业互联网平台中的数据安全防护与隐私保护实践报告.docx
- 2025年共享出行平台信用体系建设与完善策略分析报告.docx
文档评论(0)