- 10
- 0
- 约2.87万字
- 约 27页
- 2017-05-21 发布于河南
- 举报
编译原理first follow 预测表
用DEV运行,你开始输入的是要分析的文件名,如下:test.txt,内容如下:E-TMM-+TMM-$T-FNN-*FNN-$F-(E)F-i这是随便写的,求出了first和follow和预测分析表程序如下:#includestdio.h#define num 26 //非终结符的数字#define num1 32 //终结符的数字typedef struct{ char formula[200];//产生式}grammarElement;grammarElement gramOldSet[200],select[200]; //原始文法的产生式集char terSymbol[num1]={a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,#,$,+,*,(,)};//终结符号char non_ter[num]={A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z};//非终结符号char allSymbol[400];//所有符号char firstSET[100][100];//各产生式右部的FIRST集char firstNon[100];//里面放有非终结符的具体字符char ter[100];//里面放有终结符的具体字符char followSET[100][100],filename[50];//各产生式左部的FOLLOW集int stc;//分析表 //stc 为开始字符char M[100][100][100];int check,h,cir;int firstcheck[100],followcheck[100];int checkfirst(int h,char ch1,int firstSec){ //h为 firstSET级的数,ch1为待检查的字符,firstSec为查看的结束位置 int flag=0; //如果含有哦相同的终结符,则返回为1 int uu;for(uu=0;uufirstSec;uu++){if(ch1==firstSET[h][uu])flag=1; }return flag;}int checkspace(char ch1,int i){ //此时的ch1为非终结符 ,看看能不能推导出空int flag=0;int yy;for(yy=0;yyi;yy++){if(ch1==gramOldSet[i].formula[0]) {if(gramOldSet[i].formula[0]==$)flag=1; } }return flag; } int checkNonA(char ch1,int i){ //返回该非终结符所在的非终结符数组的位置int flag=0;int uu;for(uu=0;uui;uu++){if(ch1==firstNon[uu])flag=uu; }return flag;}int isterSymbol(char x){ // 是否是终结符int i;int t=0;for(i=0;i=num1;i++){if(x==terSymbol[i]){ t=1; } }return t; }int checkNon(char ch,int firnum){ //检查该非终结符是否在队列里面int flag=0;for(check=0;checkfirnum;check++){if(ch==firstNon[check]) flag=1; }return flag;}int checkTer(char ch,int ternum){ //看看该字符是否在终结符数组里面int flag=0;int gg;for(gg=0;ggternum;gg++){if(ch==ter[gg])flag=1; }return flag;} void replaceTer(){//把终结符$替换成# int yy=0;char ch=ter[yy];while(ch!=\0){if(ch==$)ter[yy]=#;yy++;ch=ter[yy]; }}int checklate(int cir,int mm1,int i){//判断某个产生式的右面是不是全部的都可以推出$int flag=0;int yy,yy1;int zz=3;for(yy1=3;yy1mm1;yy1++){ch
您可能关注的文档
- 大学生自杀问题调查报告.doc
- 关于初等教育现状的几点分析.doc
- 第五讲 孔子的教育思想(五).ppt
- 信管专业素养.ppt
- 学习心理训练.ppt
- 小日本近代的近代化比大中国成功的原因.ppt
- 北大中文系简介.pptx
- 员工的心理健康管理.ppt
- 大学生禁毒教育.ppt
- 国际油价下跌的原因分析及对中国经济的影响.doc
- 伟明环保-市场前景及投资研究报告-境内业务稳健运行,印尼市场贡献边际增量.pdf
- 桂东县法院系统招聘考试真题2025.pdf
- 贵州省黔南布依族2026年中考三模物理试题及答案.pdf
- 贵州省黔南州2026年中考语文二模试卷附答案.pdf
- 贵州省铜仁市2026年中考语文二模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套完整答案详解.docx
- 贵州省毕节市2026年中考语文一模试卷附答案.pdf
- 贵州省贵阳市南明区2026年中考语文一模试卷附答案.pdf
- 2026上半年安徽事业单位联考合肥市庐江县招聘36人备考题库及一套参考答案详解.docx
- 贵州省贵阳市白云区2026年中考二模物理试题附答案.pdf
原创力文档

文档评论(0)