太原理工大学编译原理实验[共14页]

本科实验报告课程名称:编译原理实验项目:无符号数的词法分析程序(实验一)基本程序设计(实验二)实验地点:致远楼303专业班级:软件14XX学号:学生姓名:指导教师:冯秀芳12017年6月27日一、实验目的和要求1.培养学生初步掌握编译原理实验的技能。2.验证所学理论、巩固所学知识并加深理解。3.对学生进行实验研究的基本训练。二、实验内容和原理实验一、无符号数的词法分析程序(4学时)内容:掌握词法分析的基本思想,并用高级语言编写无符号数的词法分析程序。要求:从键盘上输入一串字符(包括字母、数字等),最后以“;”结束,编写程序识别出其中的无符号数。无符号数文法规则可定义如下:<无符号数>→<无符号实数>│<无符号整数><无符号实数>→<无符号整数>.<数字串>[E<比例因子>]│<无符号整数>E<比例因子><比例因子>→<有符号整数><有符号整数>→[+│-]<无符号整数><无符号整数>→<数字串><数字串>→<数字>{<数字>}<数字>→0123......9读无符号数的程序流程图见下图23三.主要仪器设备PC机+Java语言编程环境四、实验结果与分析1.实验代码:packagetext1;importjava.io.BufferedReader;importjava.io.InputStreamReader;publicclassText1{/***@paramargs*/publicstaticvoidmain(String[]args)throwsException{//TODOAuto-generatedmethodstubintp=0,w=0,w1=0,j=0,i=0,d=0,e=1;doublew2=0;Stringstr;System.out.println("请输入一串字符以;结束:");BufferedReaderbuf=newBufferedReader(newInputStreamReader(System.in));str=buf.readLine();charm[]=newchar[100];for(i=0;i<str.length();i++){m[i]=str.charAt(i);}i=0;while(i<str.length()){if(m[i]<48||m[i]>57){i++;}else{do{d=m[i]-48;w=w*10+d;j++;i++;}while(m[i]>=48&&m[i]<=57);//System.out.println("chesi"+m[i]);if(m[i]!='.'){if(m[i]!='E'){System.out.println("整型数为:"+w);4j=0;w=0;}else{i++;if(m[i]=='-'){e=-1;i++;if(m[i]>=48&&m[i]<=57){do{d=m[i]-48;p=p*10+d;i++;}while(m[i]>=48&&m[i]<=57);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("您输入有误!");}elseif(m[i]=='+'){i++;if(m[i]>=48&&m[i]<=57){do{d=m[i]-48;p=p*10+d;i++;}while(m[i]>=48&&m[i]<=57);if(j>1)w2=w/(Math.pow(10.0,j-1));System.out.println("实型数为:"+w2+"*10"+""+(e*(p+j-1)))...

1、培基文库文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

3. 培基文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。

4. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

5、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击文档标题下面举报,也可以联系客服投诉QQ:188878628

Q、文档下载后会有水印吗?

A、文档预览未下载之前背景显示网站的名字“培基文库”,下载之后不带有任何关于培基文库名称、网址等网站本身信息水印。

Q、我下载的文件找不到了?

A、Windows电脑快捷键“Ctrl+j”,苹果(Mac)电脑按(“⌘+j”),(几乎适用所有的浏览器)

哈哈哈我下
实名认证
内容提供者

欢迎大家光临,各种实用文档供大家筛选

确认删除?
批量上传
意见反馈
上传者群
  • 上传QQ群点击这里加入QQ群
在线客服
  • 客服QQ点击这里给我发消息
回到顶部