欢迎来到天天文库
浏览记录
ID:13129036
大小:118.00 KB
页数:8页
时间:2018-07-20
《编译原理---实验题目》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
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文件词法分析结果如下----------"<
9、----text文件词法分析结果如下----------"<
此文档下载收益归作者所有