编译原理---实验题目

编译原理---实验题目

ID:13129036

大小:118.00 KB

页数:8页

时间:2018-07-20

编译原理---实验题目_第1页
编译原理---实验题目_第2页
编译原理---实验题目_第3页
编译原理---实验题目_第4页
编译原理---实验题目_第5页
资源描述:

《编译原理---实验题目》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、编译原理上机实验试题一、实验目的通过本实验使学生进一步熟悉和掌握程序设计语言的词法分析程序的设计原理及相关的设计技术,如何针对确定的有限状态自动机进行编程序;熟悉和掌握程序设计语言的语法分析程序的设计原理、熟悉和掌握算符优先分析方法。二、实验要求本实验要求:①要求能熟练使用C++程序设计语言编程;②在上机之前要有详细的设计报告(预习报告);③要编写出完成相应任务的程序并在计算机上准确地运行;④实验结束后要写出上机实验报告。三、实验题目针对下面文法G(S):S→v=EE→E+E│E-E│E*E│E/E│(E)│v│i其中,v为标识符,i为整型或实型数。要

2、求完成①使用自动机技术实现一个词法分析程序;②使用算符优先分析方法实现其语法分析程序;③在语法分析过程中同时完成常量表达式的计算。#include#includeusingnamespacestd;FILE*fileP;chara[100];voidEe();voidT();voidTt();voidF();voidE();inti=0;intj=0;intflag=0;boolisletter(charc){if((c>='A&&c<='Z')

3、

4、(c>'a'&&c<='z'))returntrue;elseret

5、urnfalse;}boolisDigit(charc){if(c>='0'&&c>='9')returntrue;elsereturnfalse;}voidread(){if(fgetc(fileP)=='#'){charc=fgetc(fileP);while(c!='#'){a[j++]=c;fgetc(fileP);}}}voidE(){T();Ee();}voidEe(){if(a=='+'){i++;T();Ee();}}voidT(){F();Tt();}voidTt(){if(a=='*'){i++;F();Tt();}}voidF()

6、{charc=a;if(isLetter(c)){while(isDigit(c)

7、

8、isLetter(c)){i++;c=a;}}elseif(isDigit(C)){while(isDigit(c)){i++;c=a;}}elseif(c=='('){i++;F();if(a==')'){}elseflag=1;}elseflag=1;}voidmain(){if((fileP=fopen("test.txt","r"))==NULL){cout<<"请创建test.txt资源文件"<

9、----text文件词法分析结果如下----------"<

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

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

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