欢迎来到天天文库
浏览记录
ID:47536865
大小:332.00 KB
页数:12页
时间:2020-01-14
《编译原理-太原理工大学》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、编译原理实验报告本科实验报告课程名称:编译原理D实验地点:实验室专业班级:学号:_学生姓名:java编译指导教师:成绩:2015年月日实验一、无符号数的词法分析程序(4学时)内容:掌握词法分析的基本思想,并用高级语言编写无符号数的词法分析程序。要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。无符号数文法规则可定义如下:<无符号数>→<无符号实数>│<无符号整数><无符号实数>→<无符号整数>.<数字串>[E<比例因子│<无符号整数>E<比例因子><比例因子>→<
2、有符号整数><有符号整数>→[+│-]<无符号整数><无符号整数>→<数字串><数字串>→<数字>{<数字>}<数字>→0123......9读无符号数的程序流程图见下图实验代码:packagetext_1;importjava.util.*;publicclassText1{publicstaticvoidmain(String[]args){intp=0,w=0,w1=0,j=0,i=0,d=0,e=1;//定义初值doublew2=0;Stringstr;System.out.println("请输入一
3、串字符串(以;结束):");Scannerm=newScanner(System.in);str=m.nextLine();charch1[]=str.toCharArray();//字符串转化为字符数组/***检测字符数组for(i=0;i'9'
4、
5、ch1[i]<'0'){//查到第一个数字i++;}else{do{d=ch1[i]-'0';w=w*10
6、+d;j++;i++;}while(ch1[i]>='0'&&ch1[i]<='9');if(ch1[i]!='.'){if(ch1[i]!='E'){System.out.println("整数为:"+w);//输出整数w=0;j=0;}else{i++;if(ch1[i]=='-'){e=-1;i++;if(ch1[i]>='0'&&ch1[i]<='9'){do{d=ch1[i]-'0';p=p*10+d;i++;}while(ch1[i]>='0'&&ch1[i]<='9');}if(j>1){w2=
7、w/(Math.pow(10.0,j-1));System.out.println("实型数为:"+w2+"*10"+""+(e*(p-j+1)));//科学计数法输出实型j=0;w2=0;w=0;p=0;}elseSystem.out.println("输入错误!");}if(ch1[i]>='0'&&ch1[i]<='9'){do{d=ch1[i]-'0';p=p*10+d;i++;}while(ch1[i]>='0'&&ch1[i]<='9');}if(j>1){w2=w/(Math.pow(10.0,
8、j-1));System.out.println("实型数为:"+w2+"*10"+""+(e*(p-j+1)));j=0;w2=0;w=0;p=0;}elseSystem.out.println("输入错误!");}}else{i++;if(ch1[i]>='0'&&ch1[i]<='9'){do{d=ch1[i]-'0';w1=w1*10+d;j++;i++;}while(ch1[i]>='0'&&ch1[i]<='9');}elseSystem.out.println("输入错误!");if(ch1[i
9、]=='E'){i++;if(ch1[i]=='-'){e=-1;i++;if(ch1[i]>='0'&&ch1[i]<='9'){do{d=ch1[i]-'0';p=p*10+d;i++;}while(ch1[i]>='0'&&ch1[i]<='9');}if(j>1){w2=w/(Math.pow(10.0,j-1));System.out.println("实型数为:"+w2+"*10"+""+(e*(p-j+1)));j=0;w2=0;w=0;p=0;}elseSystem.out.println("
10、输入错误!");}if(ch1[i]>='0'&&ch1[i]<='9'){do{d=ch1[i]-'0';p=p*10+d;i++;}while(ch1[i]>='0'&&ch1[i]<='9');}if(j>1){w2=w/(Math.pow(10.0,j-1));System.out.println("实型数为:"+w2+"*10"+""+(e*(p-j+1)));j=0;w2=0;w=0;p
此文档下载收益归作者所有