编译原理语法分析实验

编译原理语法分析实验

ID:8957409

大小:39.50 KB

页数:5页

时间:2018-04-13

编译原理语法分析实验_第1页
编译原理语法分析实验_第2页
编译原理语法分析实验_第3页
编译原理语法分析实验_第4页
编译原理语法分析实验_第5页
资源描述:

《编译原理语法分析实验》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理》课程实验报告课程实验题目:语法分析实验学生所在系部:计算机科学与技术学生所在专业:计算机科学与技术学生所在班级:软件二班学生学号:2009145617_学生姓名:邱玉梅【实验目的】1.掌握EBNF及其在递归下降分析子程序构造中的作用。2.掌握递归下降分析程序的构造方法。【实验内容】文法:E→E+T

2、T,T→T*F

3、F,F→(E)

4、i根据该文法编写递归下降分析程序:1.输入:任意符号串。2.处理:递归调用分析输入串是否合法。3.输出:串是否合法。【实验要求】1. 根据上述文法的产生式规则用EBNF化简之并绘制相应的语法图。2. 任选C/C++/Java中的一种作为编程语言实现递归下降

5、分析。 一、用EBNF化简文法化简结果如下:E→T{+T}                           F→F{*F}                            F→i

6、(E)二:程序源代码如下:packagebianyi;/***@(#)diguixiajiang.java**diguixiajiangapplication**@author*@version1.002011/12/26*/importjava.util.Scanner;importjava.util.ArrayList;importjava.util.List;publicclassdiguixiaji

7、ang{staticStrings;staticintip=0;//Scannersca=newScanner(System.in);//s=sca.next();//char[]input=newchar[s.length()];//input=s.toCharArray();staticcharinput[];publicstaticvoidmain(String[]args){//TODO,addyourapplicationcode//System.out.println("HelloWorld!");//charinput[10];//charsym;while(true){Syst

8、em.out.println("请输入算符表达式(以#号结束)");Scannersca=newScanner(System.in);s=sca.next();input=newchar[s.length()];input=s.toCharArray();//charinput[]=s.toCharArray();E();if((input[ip]=='#'))System.out.println("句子结构正确");elseSystem.out.println("无结束标志,分析失败");}}publicstaticvoidE(){T();//char[]input;while(input[

9、ip]=='+'){ip++;//sym=input[ip];//advanceT();}}publicstaticvoidT(){F();//char[]input;while(input[ip]=='*'){ip++;//sym=input[ip];//advanceF();}}publicstaticvoidF(){//char[]input;if(input[ip]=='i'){ip++;//sym=input[ip];//advance}else{if(input[ip]=='('){ip++;//sym=input[ip];//advanceE();if(input[ip]==')

10、'){ip++;//sym=input[ip];//advance}else{System.out.println("分析结果:ERROR不符合文法");System.exit(0);}}else{System.out.println("分析结果:ERROR不符合文法");System.exit(0);}}}}三:实验结果如下:

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。